1

n00b REST 问题。我正在向 API 的端点发出 GET 请求并获得正确的 XML 响应。我的问题是,如何使用 Ruby 在服务器 REST 响应中获取特定 XML 元素的值?

假设其中一个元素是“Body”,我想将其值“Blah blah blah”分配给一个变量

XML 响应的一部分:

<Body>Blah blah blah</Body>

我将如何处理响应?基本上我想做这样的事情

variable = params["Body"]

提前致谢!

4

3 回答 3

1

最好的解决方案是使用RestClientHTTParty并让它为您解析响应。

否则,您将不得不使用诸如 Nokogiri 之类的库来解析响应本身:

doc = Nokogiri.XML(response)
variable = doc.at("body").text
于 2012-11-02T02:00:30.167 回答
1

您将需要使用某种 XML 解析器。

听起来您想要XmlSimple 之类的东西,它将 XML 文档转换为 ruby​​ 数组和散列。在已链接的页面上有大量如何使用它的示例。

需要注意的一件事是 XML 到本机容器的映射是不完善的。如果您正在处理复杂的文档,您可能希望使用更强大的解析器,例如Nokogiri

于 2012-11-02T02:01:04.647 回答
0

如果您想要完整的 XML 对象映射,HappyMapper是一个不错的库,尽管它不再很活跃。它可以与任何来源的 XML 一起使用,因此您仍然需要 @Fitzsimmons 或 @MarkThomas 提到的库来执行 HTTP 请求。

于 2012-11-02T02:04:42.587 回答