zoukankan      html  css  js  c++  java
  • 关于使用Element.getNodeValue()返回NULL的问题

    使用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

  • 相关阅读:
    OC
    OC
    OC
    OC
    OC
    Oracle wm_concat()函数
    字符串拼接
    easyui扩展数据表格点击加号拓展
    子tab里面新增tab(top.jQuery)
    combox datagrid重复请求问题
  • 原文地址:https://www.cnblogs.com/jiligalaer/p/4317324.html
Copyright © 2011-2022 走看看