获得节点值的两种方法

来源:2-3 使用 DOM 解析XML 文件的节点名和节点值

小宇轩

2015-05-04 13:41

不是很懂:

System.out.println(",节点值是:"+childNodes.item(k).getFirstChild().getNodeValue());

System.out.println(",节点值是:"+childNodes.item(k).getTextContent());


写回答 关注

1回答

  • keiu
    2015-05-04 16:57:56
    /**
         * The value of this node, depending on its type; see the table above. 
         * When it is defined to be <code>null</code>, setting it has no effect, 
         * including if the node is read-only.
         * @exception DOMException
         *   DOMSTRING_SIZE_ERR: Raised when it would return more characters than 
         *   fit in a <code>DOMString</code> variable on the implementation 
         *   platform.
         */
        public String getNodeValue()
                                  throws DOMException;

    以上是getNodeValue()方法的说明.

    getTextContent()方法的说明比较长,我们用中文的:

    getTextContent
    String getTextContent()                      throws DOMException
    此属性返回此节点及其后代的文本内容。将它定义为 null 时,设置它无效。设置后,移除此节点可能有的任何可能的子节点,并且如果新字符串不为空或 null,则用包含此属性设置的字符串的单个 
    Text 节点替换。获取后,不执行序列化,且返回的字符串不包含任何标记。不执行空白规范化且在元素内容中返回的字符串不包含空白(参见属性 
    Text.isElementContentWhitespace)。类似地,设置后,也不执行解析,且以纯文本内容形式采用输入字符串。根据下面定义的节点类型,返回的字符串由此节点的文本内容生成:(参见下图2) 
    抛出:
    DOMException - 
    DOMSTRING_SIZE_ERR:在它返回的字符多于实现平台上 DOMString 变量中适合的字符时引发此异常。
    从以下版本开始:
    DOM Level 3

    http://img.mukewang.com/5547346b000198e508920390.jpg
    (图1)

    http://img.mukewang.com/554731d600010fe010640161.jpg
    (图2)

    总结:

    nodeValue如果为null或者只读则该属性设置无效.其返回值根据节点的类型不同返回也不同:具体请看图1
    getTextContent()返回的是当前节点和当前节点的后台节点的文本内容.

    keiu

    一般来说getNodeValue是用来获取该节点的value属性的值 而个getTextContext是用来获取该节点包含的文本值 <node value="值">包含的文本值</node>

    2015-05-04 17:01:30

    共 1 条回复 >

Java眼中的XML---文件读取

通过Java认识并且创造XML文件,如何应用 Java“解析 XML

83199 学习 · 431 问题

查看课程

相似问题