Topic: 初学xml,真是不理解--getChildNodes()是怎么回事?

  Print this page

1.初学xml,真是不理解--getChildNodes()是怎么回事? Copy to clipboard
Posted by: heaven
Posted on: 2003-12-16 01:10

代码如下:
NodeList lists = root.getChildNodes();
System.out.println(lists.getLength());

xml文件是这样的:
<root>
<list><key>aaa</key><key>bbb</key></list>
<list><key>ssssss</key></list>
</root>

结果发现lists的长度居然是5,怎么也不明白,后来发现如果把xml文件改一下,把tab、回车都去掉,长度就成了2了。
这不应该亚,xml文件纯粹是文本,管tab和回车什么事啊

2.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: heaven
Posted on: 2003-12-16 23:46

heaven wrote:

是不是问题太土了,有没有人可以回答一下?

3.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: jameszhang
Posted on: 2003-12-17 11:58

用什么解析的?

4.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: jameszhang] Copy to clipboard
Posted by: heaven
Posted on: 2003-12-17 23:09

jameszhang wrote:
用什么解析的?

用了xerces-2.0.2.jar和xml-apis-2.0.2.jar,
刚才换了xalan-2.1.0.jar,发现还是一样。

5.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: 笨蛋王
Posted on: 2003-12-18 19:06

根节点的子节点只有两个<list></list>阿
当然是2

6.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: 笨蛋王] Copy to clipboard
Posted by: heaven
Posted on: 2003-12-19 12:05

笨蛋王 wrote:
根节点的子节点只有两个<list></list>阿
当然是2

我就是这个意思啊,应该是2,可是如果有回车或者tab,就成了5了

7.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: jameszhang
Posted on: 2003-12-29 11:02

heaven wrote:
我就是这个意思啊,应该是2,可是如果有回车或者tab,就成了5了

用JDOM试一下,呵呵,没遇到过

8.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: jameszhang] Copy to clipboard
Posted by: heaven
Posted on: 2003-12-30 17:33

最近在正在看JDOM和DOM4J,真是方便啊。

9.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: summerguo
Posted on: 2004-01-13 10:25

解析器认为<root>和<list>,</list>和<list>,<list>和</root>之间的空白部分也是节点,所以答案是5

10.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: sunsonbaby
Posted on: 2004-02-10 12:38

好像没看懂节点的定义

11.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: heaven] Copy to clipboard
Posted by: woodworm
Posted on: 2004-03-27 18:32

我也是在看xml,一知半解。
关于这个,反正就是好像xml里面把空格、tab、回车都有可能当成node。
所以api里面专门有个方法:ignorableWhitespace 是用来处理这个问题的

12.Re:初学xml,真是不理解--getChildNodes()是怎么回事? [Re: summerguo] Copy to clipboard
Posted by: fishbob
Posted on: 2004-03-30 18:45

summerguo wrote:
解析器认为<root>和<list>,</list>和<list>,<list>和</root>之间的空白部分也是节点,所以答案是5


没错,这个兄弟说的对


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923