使用LibXML Ruby时为什么会出现空白节点/属性?

时间:2012-07-24 21:03:41

标签: ruby libxml2

使用Gem libxml-ruby,当我们解析XML时:

document = LibXML::XML::Parser.string( xmlData ).parse
for n in document.root.children
  # Do something
end

我们实际得到的是这样的:

root
-node empty
-node with data
-node empty 

属性相同,在我们真正关心的那些之间有一个空白的填充。我们最终需要使用的是:options => LibXML::XML::Parser::Options::NOBLANKS

为什么呢? :(

1 个答案:

答案 0 :(得分:0)

(不一定是答案,但需要格式化。)

XML是什么样的?

此XML:

<baz>
  <plugh>ohai</plugh>
</baz>

可能包含CR / LF的空白文本节点以及<baz><plugh>开始标记之间的缩进,以及结束标记之间的缩进。这可能是也可能不是重要的空白,具体取决于XML的性质。在结构上,它与以下不同:

<baz><plugh>ohai</plugh></baz>