<?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>之间的文本节点