Java_DOM解析XML

来源:互联网 发布:mysql enum创建 编辑:程序博客网 时间:2024/05/16 05:44
<?xml version="1.0" encoding="UTF-8"?><Books>textElement1    <Book id="1">        <name>Java Thinking</name>        <price>100.0</price>    </Book>textElement2    <Book id="2">        <name>C++ Thinking</name>        <price>200.0</price>    </Book>textElement3</Books>


 

File file=new File("D:\\sample.xml");DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder builder=factory.newDocumentBuilder();Document doc=builder.parse(file);NodeList list=doc.getElementsByTagName("Book");System.out.println(doc.getDocumentElement().getNodeName());System.out.println(doc.getDocumentElement().getChildNodes().getLength());for(int i=0;i<doc.getDocumentElement().getChildNodes().getLength();i++){        System.out.println("name:"+doc.getDocumentElement().getChildNodes().item(i).getNodeName());System.out.println("value:"+doc.getDocumentElement().getChildNodes().item(i).getNodeValue());}


运行结果:

Books
5
name:#text
value:textElement1
   
name:Book
value:null


name:#text
value:
textElement2
   
name:Book
value:null


name:#text
value:
textElement3

 

为什么根元素(文档元素)有5个子节点呢?

    第一个节点:<Books> <Book>两个节点之间的文本元素

    第二个节点:就是<Book>元素节点

    第三个节点:</Book> <Book>之间的文本节点

    第四个节点:<Book>元素节点

    第五个节点:</Book> </Books>之间的文本节点

0 0
原创粉丝点击