我正在使用rest-client从其他网站返回XML并试图使用Nokogiri来解析它。 XML看起来像这样:使用Nokogiri解析XML
<?xml version="1.0" encoding="UTF-8"?> ...
<MXAUTOKESet>
<AUTOKEY>
<AUTOKEYID>27</AUTOKEYID>
<AUTOKEYNAME>WORKORDERNUM</AUTOKEYNAME>
<ORGID>xxxx</ORGID>
<PREFIX>12-</PREFIX>
<SEED>38979</SEED>
...
我想提取“PREFIX”和“SEED”数字。
我的看法代码如下所示:
<% xml_data = RestClient.get "URL (sorry can't display it in this question)" %>
<%= xml_doc = Nokogiri::XML(xml_data)%>
第二行显示在页面上返回的XML,所以,我都知道了,客户端的工作,但我不知道如何访问解析XML。
UPDATE1:
我能得到creationDateTime
出使用下面的XML头的。但是,我还是不能让种子值:
<%= doc = Nokogiri::XML(xml_data)%>
<h4>Creation Date</h4>
<% root = doc.root %>
<%= root["creationDateTime"] %>
<h4>SEED</h4>
<%= seed = root.xpath("SEED").text %>
或
<%= seed = doc.xpath("//SEED").inner_text %>
请不要把所有这些逻辑放在你的视野中。 – 2013-02-27 02:03:26
马克 - 它应该放在控制器还是模型中? (对不起 - 我是新手) – Reddirt 2013-02-27 15:18:26
@Reddirt控制器。从控制器中的XML中提取所需的部分,然后将它们放在视图中要查看它们的位置。 – Phrogz 2013-02-27 15:26:51