在这里编程noob。 只是想知道从字符串中提取特定信息位的最佳方法是使用Ruby。
我有一个来自api的xml,如下所示:
<users>
<user>
<twitter_screen_name>Jason</twitter_screen_name>
<kscore>81.78</kscore>
</user>
</users>
我只想获取用户名和kscore。
这是我所拥有的,只是想知道这是否更有效?
info = Array.new
username = info[3].split('>')
username = username[1].split('<')
username = username[0]
klout = info[4].split('>')
klout = klout[1].split('<')
klout = klout[0]
由于
答案 0 :(得分:4)
使用XML解析器,例如Nokogiri:
doc = Nokogiri::XML(your_xml_string)
username = doc.at('twitter_screen_name').content
klout = doc.at('kscore').content.to_f
不建议尝试使用正则表达式解析XML。
答案 1 :(得分:0)
或者,您可以使用Klout ruby包装器,具体取决于您使用Ruby的版本。
这适用于&lt; 1.8.6:https://github.com/jasontorres/klout
这适用于&gt; = 1.9.2:https://github.com/mpautasso/klout(前一个分叉)