读书人

JAVA中的DOM操作读取XML的有关问题~

发布时间: 2011-12-26 23:09:59 作者: rapoo

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键值对读出来的。

读书人网 >J2SE开发

热点推荐