zoukankan      html  css  js  c++  java
  • Dom解析xml

    DomParseTest.java

     1 package cn.pinnsvin;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.xml.parsers.DocumentBuilder;
     6 import javax.xml.parsers.DocumentBuilderFactory;
     7 import javax.xml.parsers.ParserConfigurationException;
     8 import javax.xml.transform.Result;
     9 import javax.xml.transform.Source;
    10 import javax.xml.transform.Transformer;
    11 import javax.xml.transform.TransformerException;
    12 import javax.xml.transform.TransformerFactory;
    13 import javax.xml.transform.dom.DOMSource;
    14 import javax.xml.transform.stream.StreamResult;
    15 
    16 import org.junit.Test;
    17 import org.w3c.dom.Document;
    18 import org.w3c.dom.Node;
    19 import org.w3c.dom.NodeList;
    20 import org.xml.sax.SAXException;
    21 
    22 //Dom解析Xml
    23 public class DomParseTest {
    24     
    25     @Test
    26     public void domParse() throws Exception{
    27         //获取DocumentBuilderFactory
    28         DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
    29         //获取DocumentBuilder
    30         DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
    31         //通过documentBuilder解析xml文档获得Document对象
    32         Document document = documentBuilder.parse("book.xml");
    33         //通过元素的名字可以找到元素的集合
    34         NodeList nodeList = document.getElementsByTagName("书名");
    35         //找到第二个元素
    36         Node node = nodeList.item(1);
    37         //读出对应节点的文本内容
    38         String content = node.getTextContent();
    39         System.out.println(content);
    40     }
    41     
    42     @Test
    43     public void domModifyxml() throws ParserConfigurationException, SAXException, IOException, TransformerException{
    44         DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    45         DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
    46         Document document = documentBuilder.parse("book.xml");
    47         NodeList nodeList = document.getElementsByTagName("价格");
    48         Node node = nodeList.item(1);
    49         node.setTextContent("99.00");
    50         
    51         TransformerFactory transformerFactory = TransformerFactory.newInstance();
    52         Transformer transformer = transformerFactory.newTransformer();
    53         
    54         Source source = new DOMSource(document);
    55         Result result = new StreamResult("book.xml");
    56         transformer.transform(source, result);
    57     }
    58 }

    book.xml

     1 <?xml version="1.0" encoding="UTF-8" standalone="no"?><书架>
     2     <>
     3         <书名>java深入浅出</书名>
     4         <作者>你猜 </作者>
     5         <价格>20.50</价格>
     6     </>
     7     <>
     8         <书名>c深入浅出</书名>
     9         <作者>haha </作者>
    10         <价格>99.00</价格>
    11     </>
    12 </书架>
  • 相关阅读:
    料理phpMyAdmin2.6以上版本数据乱码结果
    mysql 中字符集的选择
    关于MySQL中的mysqldump饬令的运用
    一些Mysql的优化经验
    MYSQL数据库初学者操作指南1
    MySQL 5.0 新特性教程 存储历程:第三讲
    Windows下MySQL PHP5的设置配备部署与phpBB2论坛的架设
    MySQL 5.0新特征教程 存储历程:第一讲
    MySQL 5.0 新特征教程 存储过程:第二讲
    Linux Apache Mysql PHP典范设置装备摆设1
  • 原文地址:https://www.cnblogs.com/pinnsvin/p/6836114.html
Copyright © 2011-2022 走看看