2011-04-18 78 views
2
#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 

我做了一些调查,发现:引入nokogiri发现只有一个元素,而不是三个

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

回答

2

的XML文档(不同于一个XML片段)简单地所有ExpenseType元素只能包含正好一个顶级元素。在输入字符串周围放置一些<wrapper>元素,您应该能够找到所有三种费用类型。

+0

不错,很好很短的确切答案,THX – astropanic 2011-04-18 07:32:23

相关问题