码迷,mamicode.com
首页 > 其他好文 > 详细

关于使用Element.getNodeValue()返回NULL的问题

时间:2015-03-06 10:31:08      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

使用DOM方法解析XML数据,

比如这个xml:
<root>
  <name>admin</name>
</root>

在程序中读取

Document doc=........;
Element root=doc.getDocumentElement();
Element nameNode=(Element)root.getElementsByTagName_r(name).item(0);
String name=nameNode.getNodeValue();


name返回值竟然为NULL?


查阅资料发现,w3c对于xml的节点类型有严格规定,我们又没有自己编写DTD或者schema来指定数据类型的习惯,所以w3c就按自己的理解来了。所以name节点有两个身份,第一它是Node,没有值,第二它是Node的children,有一个text的值==admin。所以你要这样:

String name=nameNode.getFirstChild().getNodeValue();

 

另外,Element类实现了Node接口,该 Node 接口是整个文档对象模型的主要数据类型。它表示该文档树中的单个节点。

详细解释:

http://doc.java.sun.com/DocWeb/api/org.w3c.dom.Node

关于使用Element.getNodeValue()返回NULL的问题

标签:

原文地址:http://www.cnblogs.com/jiligalaer/p/4317324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!