使用 Ruby 解析 XML 与处理 SOAP 服务
在应用程序开发中,常常需要与一些设计不受我们控制的遗留服务进行集成。这些服务普遍采用 XML 格式,如 SOAP、XML - RPC 或 RESTful XML。本文将介绍 Ruby 中用于解析和处理基于 XML 服务的工具,包括 REXML、Nokogiri 以及如何使用 Savon 处理 SOAP 服务。
1. XML 解析概述
许多旧的(甚至一些新的)服务将 XML 作为序列化格式。尽管 JSON 因其易用性和简洁性,正迅速成为序列化的首选方法,但客户端库有时仍需处理 XML。Ruby 中用于解析 XML 的库有 REXML、Nokogiri、Hpricot、LibXml Ruby 和 SimpleXML。
本文重点介绍使用 REXML 和 Nokogiri 解析响应。选择这两个库的原因很简单:REXML 是 Ruby 标准库的一部分,而 Nokogiri 目前性能最佳,且得到积极开发和支持。对于标准的 REXML 之外的库,Nokogiri 是当前的首选。
以 Amazon EC2 Query API 为例,该 API 是解析和请求基于 XML 服务的实际应用场景。下面将详细介绍如何解析 EC2 的 “describe instances” 请求的响应。
响应示例如下:
<DescribeInstancesResponse
xmlns="http://ec2.amazonaws.com/doc/2009-08-15/"
<reservationSet>
<item>
&
超级会员免费看
订阅专栏 解锁全文

530

被折叠的 条评论
为什么被折叠?



