org.w3c.dom.Element执行getNodeValue总是返回null?

xml。。。。很常用,写个配置文件、传个平台无关的数据。。。很常见

但是为这些xml编写规范的DTD或者schema的。。。不太常见。。因为太麻烦。。。xml人人都看得懂,费那劲干嘛。。。。

以前都用dom4j之类的框架,好用。。。随便用。。。

后来用不了了,老老实实拿org.w3c.dom来写。。。

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

太简单了:
Document doc=........;
Element root=doc.getDocumentElement();
Element nameNode=(Element)root.getElementsByTagName(name).item(0);
String name=nameNode.getNodeValue();

准备收工。。。。什么,得到的是null?你没看错吧?

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

String name=nameNode.[color=red]getFirstChild()[/color].getNodeValue();

搞定。w3c也是非主流??请问。。。。介系一种行为艺术咩?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值