2016-08-04 57 views
-1

我使用Ruby 1.9.3軌道3.1。我的要求是有一個像下面的解析器文件。當我用瀏覽器打開時;標籤不按順序排列。經過<item>;數據是棍棒形式。還有就是無法讀取使用薩克斯xml文件與Nokogiri解析器

<?xml version="1.0" encoding="utf-8"?>

,當我在崇高的文本開了存在;它示出了<item>

<![CDATA[<?xml version="1.0" encoding="utf-8"?> 

也之後</item>後有]]>存在。需要解析的數據在<item></item>之內。名爲parse_file的方法Nokogiri僅稱爲start_element, end_element。當我們通過刪除上述語句來編輯文件來手動嘗試時;那麼它將調用characters方法來獲取數據。下面是示例代碼。有沒有其他方法?

<batch transactionType="HC"><item><?xml version="1.0" encoding="utf-8"?><C><CI><Ve>00501</Ve></CI></C></item></batch> 
+0

請不要用圖像傳達用於測試代碼的數據。我們不能重複使用,必須輸入,以便複製和粘貼證明問題所需的最少數據。此外,如果它的鏈接腐爛,並打破你的問題是沒有任何意義的。請閱讀「[mcve]」。 「請爲此提供一個自動化解決方案。」?我們希望看到你解決問題的努力。 SO不是「給我代碼」網站,而是我們幫你修復你寫的代碼。 「[Stack Overflow用戶需要多少研究工作?](http://meta.stackoverflow.com/q/261592/128421)」很有用。 –

+0

我很抱歉我的話有點坦率。我將編輯該問題。但我已經嘗試了所有的方法來解決這個問題..我把這張圖片顯示xml目前在瀏覽器中顯示的原因。我相信沒有其他方式可以證明這一點。有沒有辦法解決這個問題.. –

+0

我們仍然需要看到你解決問題的努力,否則它看起來像你希望我們爲你寫。 –

回答

0

您可以輕鬆地通過其他名爲「xml-simple」的模塊來完成。假設你的XML文件名是 「的test.xml」

首先安裝寶石: -

gem install xml-simple 

那麼,你可以嘗試這樣的代碼: -

require "XmlSimple" 

abc = XmlSimple.xml_in File.read("test.xml") 

puts abc['item'] 

輸出: -

{"C"=>[{"CI"=>[{"Ve"=>["00501"]}]}]} 
+0

'require':無法加載這樣的文件 - XmlSimple(LoadError) –

+0

啊,請安裝。 創業板安裝XML的簡單 –

+0

沒有運氣...還是老樣子一樣.. –