• 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 </书架>
  • 相关阅读:
    jQuery小案例
    update-alternatives
    计算机网络备忘
    报文交换 (转自百度百科,方便以后复习)
    erlang supervisor simple_one_for_one实例
    erlang supervisor中启动普通的进程
    erlang四大behaviour之一gen_server(转载)
    用Doxygen+Graphviz生成函数调用流程图(转)
    selenium模块
    request模块
  • 原文地址:https://www.cnblogs.com/deki/p/6836114.html
Copyright © 2020-2023  润新知