2011-04-18 76 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

相關問題