今天被dom4j的一个函数折腾了一个晚上,现在终于搞定了,多亏了我的师弟,首先向他表示感谢。
dom4j有个函数叫做div.nodeCount();其中div是一个结点,我要得到一个xml文件中一个结点的nodeCount
的时候,总是出现莫名其妙的结果,令我非常纳闷,后来用了遍历所有结点的方法,看了每次遍历
的结点都是什么,才看出来,这个函数的方法非常恶心,如果我遍历的是结点,那么每行的换行符(\n\t)
都做为一个结点了,导致我得到的结果很不正确。
后来采用了遍历元素的方法来解决这个问题,遍历元素的时候就不会将换行符算进去了。
总结:
1.元素(Element)和结点(Node)的区别,元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素,例如<div>...</div>。但是一个结点不一定是一个元素,而一个元素一定是一个结点。
2.dom4j的这个函数做得很垃圾,谁没事能去找一个node叫做"\n\t",应该把这种不可见的符号屏蔽掉。
dom4j有个函数叫做div.nodeCount();其中div是一个结点,我要得到一个xml文件中一个结点的nodeCount
的时候,总是出现莫名其妙的结果,令我非常纳闷,后来用了遍历所有结点的方法,看了每次遍历
的结点都是什么,才看出来,这个函数的方法非常恶心,如果我遍历的是结点,那么每行的换行符(\n\t)
都做为一个结点了,导致我得到的结果很不正确。
后来采用了遍历元素的方法来解决这个问题,遍历元素的时候就不会将换行符算进去了。
总结:
1.元素(Element)和结点(Node)的区别,元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素,例如<div>...</div>。但是一个结点不一定是一个元素,而一个元素一定是一个结点。
2.dom4j的这个函数做得很垃圾,谁没事能去找一个node叫做"\n\t",应该把这种不可见的符号屏蔽掉。