JAVA中的DOM操作,读取XML的问题~~~~~~~
XML文件内容如下:
<?xml version= "1.0 " encoding= "gb2312 " ?>
<books>
<book id= "001 ">
<name> JAVA </name>
<price> 39.5 </price>
</book>
</books>
我现在的要求是读取到books book name price id等的节点值,并且把其值JAVA 39.5 001读出来,该怎么读呢?
我现在写的如下:
………………
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
InputStream is = new FileInputStream( "test.xml ");
Document doc = docBuilder.parse(is);
Element root = doc.getDocumentElement();
NodeList list = root.getChildNodes();
for(int i = 0; i < list.getLength(); i++){
Node book = list.item(i);
System.out.print((i+1) + ". " +book.getNodeName());
System.out.println( "--------- ");
for(Node ode=book;node!=null;node=node.getNextSibling()){
System.out.println(node.getNodeName());
}
System.out.println();
}
…………
结果是:
1.#text---------
#text
book
#text
2.book---------
book
#text
3.#text---------
#text
这个#text是什么东西呢????
------解决方案--------------------DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
这个里面写文件。不要在new文件流这样读出来的是以文本读出来的。
而DocumentBuilder 是以XML键值对读出来的。