`

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
分享到:
评论

相关推荐

    列车车次信息解析实例

    列车车次信息解析实例 public void ... ss1= nd.getChildNodes().item(j).getFirstChild().getNodeValue().toString(); //System.out.print( " "+NodeName); System.out.print(" : "+ss1+" , ");

    jsp 动态树

    Document document = DocumentHelper.createDocument(); Element root = document.addElement... for (INode n : node.getChildNodes()) { e = menu.addElement("node"); initDocument(n, e); } } }

    ztree获取当前选中节点子节点id集合的方法

    本文实例讲述了ztree获取当前选中节点子节点id集合的方法。分享给大家供大家参考。...function getChildNodes(treeNode) { var childNodes = ztree.transformToArray(treeNode); var nodes = new Array(); fo

    tsastgen:从一个简单的规范文件生成TypeScript AST定义

    生成输入反射功能,诸如Node.getChildNodes()和isFoo() 生成类型化的工厂函数,该函数能够将简单的原始值自动提升到整个节点。 生成到父节点的类型化链接的能力,该链接仅列出实际上可以是父级的节点类型。 基本...

    java解析xml

    NodeList books = root.getChildNodes(); if (books != null) { // 轮循子节点 for (int i = 0; i (); i++) { // 获取book节点 Node book = books.item(i); if (book.getNodeType() == Node.ELEMENT_NODE) ...

    spring2.5.6源码

    NodeList nl = root.getChildNodes(); int beanDefinitionCount = 0; for (int i = 0; i (); i++) { Node node = nl.item(i); if (node instanceof Element) { Element ele = (Element) node; ...

    javascript封装的通用解析和操作xml文件数据工具类(含测试使用代码)

    var nodes = xmlUtils.getChildNodes(); document.getElementById('xmlOpTest').innerHTML += ' 得到节点的所有子节点: '+xmlUtils.toString(nodes)+' '; node = xmlUtils.getNodesByXpath('//root/...

    ThinkMap-实现Android端的简易思维导图。可以保存数据。编辑树形图。.zip

     LinkedList&lt;NodeModel&lt;String&gt;&gt; childNodes = root.getChildNodes();  for (NodeModel node : childNodes) {  //连线  drawLineToView(canvas, fatherView, findNodeViewFromNodeModel(node)); ...

Global site tag (gtag.js) - Google Analytics