我正在努力弄清楚XPath和REXML,我尝试过的每一件事,甚至从书本上复制,都会返回零。我试图尽可能简单地输出数据...我的文件看起来像
<profile>
<userid>3002</userid>
</profile>
我希望得到3002
。我到底做了什么?
答案 0 :(得分:0)
如果您发布代码会更好。 好吧,只是为了向你展示方向,试试这个:
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
它在userid
中找到第一个profile
元素,并将其作为文本。
答案 1 :(得分:0)
你也可以使用优秀的Nokogiri
宝石。以下是我对此进行编码的方式 -
require 'nokogiri'
xml = '<profile>
<userid>3002</userid>
</profile>'
doc = Nokogiri::XML.parse xml
p doc.at('userid').text
# => "3002"