首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2011-12-26 
JAVA中的DOM操作,读取XML的问题~~~~~~~XML文件内容如下:?xmlversion 1.0 encoding gb2312 ?books

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

热点排行