旧服务的 XML 解析
在应用程序开发过程中,有时会遇到需要与一些旧服务进行集成的情况,而这些服务的设计可能不受我们控制。很多旧服务(甚至一些新服务)采用 XML 作为其序列化格式,例如 SOAP、XML - RPC 或 RESTful XML 等。本文将介绍一些用于解析和处理基于 XML 服务的工具。
1. XML 解析概述
JSON 由于其易用性和简洁性,正迅速成为序列化的首选方法,但客户端库有时仍需处理 XML。在 Ruby 中,有多种用于解析 XML 的库,如 REXML、Nokogiri、Hpricot、LibXml Ruby 和 SimpleXML 等。这里重点介绍使用 REXML 和 Nokogiri 来解析响应,原因在于 REXML 是 Ruby 标准库的一部分,而 Nokogiri 性能最佳,且正在积极开发和维护。
以 Amazon EC2 Query API 为例,它是一个需要解析和请求基于 XML 服务的实际场景。下面通过解析 “describe instances” 调用的响应来详细说明。该响应提供了在 Amazon 弹性计算云中运行的虚拟计算机实例的信息,示例响应如下:
<DescribeInstancesResponse
xmlns="http://ec2.amazonaws.com/doc/2009-08-15/"
<reservationSet>
<item>
<reservationId>r-44a5402d</reservationId>
<ownerId>UYY3TLBUXIEON5NQVUUX
超级会员免费看
订阅专栏 解锁全文
1543

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



