Ruby 使用Nokogiri计算xml中的元素

Ruby 使用Nokogiri计算xml中的元素,ruby,Ruby,我想了解为什么count给我5 如果我是根元素,并且我想了解我的孩子,那么应该给我2 doc = Nokogiri::XML(open('link..to....element.xml')) root = doc.root.children.count puts root <element> <name>Married with Children</name> <name>Married with Children</name&

我想了解为什么
count
给我
5

如果我是根元素,并且我想了解我的孩子,那么应该给我
2

doc = Nokogiri::XML(open('link..to....element.xml'))
root = doc.root.children.count
puts root



<element>
  <name>Married with Children</name>
  <name>Married with Children</name>
</element>
doc=Nokogiri::XML(打开('link..to….element.XML'))
root=doc.root.children.count
扎根
已婚有子女
已婚有子女

结果是
5
,因为根
节点下有五个子节点。有两个
节点和三个文本节点,每个节点都由空格组成;一个在开头
和第一个
之间,一个在两个
之间,一个在第二个
和结尾
之间:

doc.root.children.each do|c|
p c
结束
输出:

#
#
#
#
#
如果在解析Nokogiri时使用
noblanks
选项,则不会包含以下空白节点:

doc=Nokogiri::XML(open('link..to….element.XML'){c | c.noblanks}

现在
doc.root.children.count
将等于
2
,只包括两个
元素节点。

最后!!!我不明白为什么每个“数据”仍然重复8次(在我的真实文档中,不是我给出的示例)。太棒了!