n00b REST问题。我正在向API的端点发出GET请求并获得正确的XML响应。我的问题是,如何使用Ruby获取服务器REST响应中特定XML元素的值?
所以让我们说其中一个元素是'Body',我想把它的值'Blah blah blah'分配给变量
XML响应的一部分:
<Body>Blah blah blah</Body>
我如何通过回复做到这一点?基本上我想做这样的事情
variable = params["Body"]
提前致谢!
答案 0 :(得分:1)
最佳解决方案是使用RestClient或HTTParty并让它为您解析响应。
否则,您将不得不使用诸如Nokogiri之类的库来解析响应:
doc = Nokogiri.XML(response)
variable = doc.at("body").text
答案 1 :(得分:1)
您需要使用某种XML解析器。
听起来你想要像XmlSimple这样的东西,它会将XML文档变成ruby数组和哈希。有很多关于如何在已链接的页面上使用它的示例。
需要注意的一点是XML到本机容器映射是不完美的。如果您正在处理复杂文档,则可能需要使用更强大的解析器,例如Nokogiri。
答案 2 :(得分:0)
如果你想要完整的XML对象映射,HappyMapper是一个不错的库,虽然它不再是非常活跃的。它可以从任何来源使用XML,因此您仍然需要@Fitzsimmons或@MarkThomas提到的库来执行HTTP请求。