当前位置: 技术问答>java相关
org.w3c.dom.Node的getChildNodes()方法的迷惑
来源: 互联网 发布时间:2015-09-07
本文导语: 有一个DOM,其中Node X下有3个ChildNode A,B,C 我调用X.getChildNodes()方法得到一个NodeList 然后遍历输出,结果却发现 #text A #text B #text C #text 1. 请问这些空的文本节点是哪里跑出来的? 2. 另外,难道就没有Node.getChildNo...
有一个DOM,其中Node X下有3个ChildNode A,B,C
我调用X.getChildNodes()方法得到一个NodeList
然后遍历输出,结果却发现
#text
A
#text
B
#text
C
#text
1. 请问这些空的文本节点是哪里跑出来的?
2. 另外,难道就没有Node.getChildNode(NodeName)这样的方法吗?也太土了吧
我调用X.getChildNodes()方法得到一个NodeList
然后遍历输出,结果却发现
#text
A
#text
B
#text
C
#text
1. 请问这些空的文本节点是哪里跑出来的?
2. 另外,难道就没有Node.getChildNode(NodeName)这样的方法吗?也太土了吧
|
jdom有你需要的按元素名(标签名)定位的方法。DOM的话,你自己写一个方法实现也很简单啊。
标准的dom就是这样。空的文本节点是因为两个元素之间的whitespace造成的(一般xml文档的两个元素都加了空格或回车),不过你可以在解析时靠设置解析器的属性来忽略whitespace,不过好像不一定起作用。
还有一种方法,就是在输出时判断节点的类型,只有当node.getNodeType()=Node.ELEMENT_NODE你才处理嘛。
标准的dom就是这样。空的文本节点是因为两个元素之间的whitespace造成的(一般xml文档的两个元素都加了空格或回车),不过你可以在解析时靠设置解析器的属性来忽略whitespace,不过好像不一定起作用。
还有一种方法,就是在输出时判断节点的类型,只有当node.getNodeType()=Node.ELEMENT_NODE你才处理嘛。
|
javax.xml.parsers
Class DocumentBuilderFactory
java.lang.Object
|
+-javax.xml.parsers.DocumentBuilderFactory
---------------------------------------------------------------
setIgnoringElementContentWhitespace
public void setIgnoringElementContentWhitespace(boolean whitespace)
Specifies that the parsers created by this factory must eliminate whitespace in element content (sometimes known loosely as 'ignorable whitespace') when parsing XML documents (see XML Rec 2.10). Note that only whitespace which is directly contained within element content that has an element only content model (see XML Rec 3.2.1) will be eliminated. Due to reliance on the content model this setting requires the parser to be in validating mode. By default the value of this is set to false.
Parameters:
whitespace - true if the parser created must eliminate whitespace in the element content when parsing XML documents; false otherwise.
Class DocumentBuilderFactory
java.lang.Object
|
+-javax.xml.parsers.DocumentBuilderFactory
---------------------------------------------------------------
setIgnoringElementContentWhitespace
public void setIgnoringElementContentWhitespace(boolean whitespace)
Specifies that the parsers created by this factory must eliminate whitespace in element content (sometimes known loosely as 'ignorable whitespace') when parsing XML documents (see XML Rec 2.10). Note that only whitespace which is directly contained within element content that has an element only content model (see XML Rec 3.2.1) will be eliminated. Due to reliance on the content model this setting requires the parser to be in validating mode. By default the value of this is set to false.
Parameters:
whitespace - true if the parser created must eliminate whitespace in the element content when parsing XML documents; false otherwise.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。