0
通過XML文件解析我使用的鐵軌2.3.9,1.9.3紅寶石,RubyGems的1.8.24和Windows 7旗艦版使用的libxml-紅寶石
我得到的希望安裝的libxml-紅寶石寶石我想要的輸出。我有一個超過150個節點的XML文件,我想要的是獲取每個節點的值。
require 'xml'
my_file = 'invoice3.xml'
parser = XML::Parser.file(my_file)
document = parser.parse
terminalId_node = document.find('//terminalId').first
terminalId = terminalId_node.content
puts terminalId
我已經能夠獲得terminalId的值,但我想循環遍歷文件以節省編碼時間。任何幫助,將不勝感激。
更新:示例XML輸入 這僅僅是一個實際的XML文件
<invoice>
<terminalId>68</terminalId>
<transId>8</transId>
<docDate>2012-08-06 18:55:57</docDate>
<status>P</status>
<siteId>19</siteId>
<transCode>REL</transCode>
<typeCode>POS</typeCode>
<TotalQuantity>1</TotalQuantity>
<VATRate>12</VATRate>
<amountGrossVAT>0</amountGrossVAT>
<amountGrossNonVAT>100</amountGrossNonVAT>
<amountGrossZeroRated>0</amountGrossZeroRated>
<amountGross>100</amountGross>
<amountItemDiscount>0</amountItemDiscount>
<amountOverallDiscount>0</amountOverallDiscount>
<percentOverAllDiscount>0</percentOverAllDiscount>
<OverallDiscountText></OverallDiscountText>
<amountSeniorCitizenDiscount>0</amountSeniorCitizenDiscount>
<AmountOriginalSeniorCitizenDiscount>0</AmountOriginalSeniorCitizenDiscount>
<AmountCustomerPromoDiscount>0</AmountCustomerPromoDiscount>
<amountHeaderDiscount>0</amountHeaderDiscount>
<percentHeaderDiscount>0</percentHeaderDiscount>
<invoice-details>
<invoice-detail>
<amountTotalDiscount>0</amountTotalDiscount>
<percentTotalDiscount>0</percentTotalDiscount>
<amountNetVAT>0</amountNetVAT>
<amountNetNonVat>100</amountNetNonVat>
<amountNetZeroRated>0</amountNetZeroRated>
<amountNet>100</amountNet>
<AmountVatExempt>0</AmountVatExempt>
<amountDue>100</amountDue>
<invoice-detail>
<invoice-details>
</invoice>
我想通過迭代提取ALL數據的一部分。
請給我們示例XML輸入。另外,請特別告訴我們你想要提取什麼。 –
我編輯了一個更新的問題,標記。 –
https://github.com/amolpujari/reading-huge-xml –