15、使用 Ruby 解析 XML 与处理 SOAP 服务

使用 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> 
&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值