Nokogiri只找到一个元素而不是三个元素

时间:2011-04-18 06:43:42

标签: xml parsing nokogiri

#src
<ExpenseType name="Verpfl24" calcQty="24"  showTip="0"  tipText=""  selfTax="0"  showForeign="0"  description="Verpflegungsmehraufwand 24 Stunden" />
<ExpenseType name="Verpfl14" calcQty="14"  showTip="0"  tipText=""  selfTax="0"  showForeign="0"  description="Verpflegungsmehraufwand 14 Stunden" />
<ExpenseType name="Verpfl8" calcQty="8"  showTip="0"  tipText=""  selfTax="0"  showForeign="0"  description="Verpflegungsmehraufwand 8 Stunden" />

doc = Nokogiri::XML(src)
items = doc.search("/ExpenseType")
items.size # 1 instead of 3

我做了一些调查,发现:

doc.document.to_s 

"<?xml version="1.0"?>\n<ExpenseType name="Verpfl24" calcQty="24" showTip="0" tipText="" selfTax="0" showForeign="0" description="Verpflegungsmehraufwand 24 Stunden"/>\n"

我做错了什么?

我只想要来自这个xml的所有ExpenseType元素

1 个答案:

答案 0 :(得分:2)

xml文档(与xml片段不同)只能包含一个顶级元素。在输入字符串周围添加一些<wrapper>元素,您应该能够找到所有三种费用类型。