猿问

java解析xml getChilidNotes的length怎么看?

<?xml version="1.0" encoding="UTF-8"?>

<books>

    <book id="12">

        <name>think in java</name>

        <price>85.5</price>

        <author>Edwrad Saverin</author>

    </book>

    <book id="15">

        <name>Spring in Action</name>

        <price>39.0</price>

        <author>Edward Saverin</author>    

    </book>

</books>

NodeList bookNodes=element.getElementsByTagName("book");

        for(int i=0;i<bookNodes.getLength();i++){

            Element bookElement=(Element)bookNodes.item(i);

            Book book=new Book();

            book.setId(Integer.parseInt(bookElement.getAttribute("id")));

            NodeList childNodes=bookElement.getChildNodes();

            System.out.println("childnodes:"+childNodes.getLength());

为什么childnodes的长度为7?


暮色呼如
浏览 406回答 1
1回答

POPMUISE

那是因为bookElement.getChildNodes()方法,会将bookElement下的文本节点也当作一个子节点,就像这样:#text<name>#text<price>#text<author>#text其中#text这个文本节点,你是肉眼看不到的,它也许是一个空格或者换行符。如果题主不希望得到需要的节点,建议在操作节点之前,判断一下节点的类型是不是Node.TEXT_NODE。
随时随地看视频慕课网APP

相关分类

Java
我要回答