0
我很努力地找出XPath和REXML,我嘗試的每一件事情,甚至從書本上覆制,都返回nil。我試圖做數據的最簡單可行的輸出...我的文件看起來像如何使用XML獲取一個非常簡單的元素?
<profile>
<userid>3002</userid>
</profile>
我想3002
出來。我該怎麼做?
我很努力地找出XPath和REXML,我嘗試的每一件事情,甚至從書本上覆制,都返回nil。我試圖做數據的最簡單可行的輸出...我的文件看起來像如何使用XML獲取一個非常簡單的元素?
<profile>
<userid>3002</userid>
</profile>
我想3002
出來。我該怎麼做?
如果您發佈代碼會更好。 好,剛纔給你看一個方向,試試這個:
require 'rexml/document'
xml = '<profile>
<userid>3002</userid>
</profile>'
doc = REXML::Document.new xml
item = REXML::XPath.first(doc, '//profile/userid').text
p item
#=> 3002
它發現裏面profile
第一userid
元素,並採取它的文本。
您也可以使用優秀的Nokogiri
寶石。這裏是我如何編碼 -
require 'nokogiri'
xml = '<profile>
<userid>3002</userid>
</profile>'
doc = Nokogiri::XML.parse xml
p doc.at('userid').text
# => "3002"
謝謝你,這真的很有幫助! – GreenTriangle 2014-09-26 05:27:15