getChildNodes理解

view plaincopy to clipboardprint?
代码如下:  
 
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了。 
代码如下:

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了。


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

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



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/luweifeng1983/archive/2009/03/27/4028327.aspx

你可能感兴趣的:(xml,.net,Blog)