15、旧服务的 XML 解析指南

旧服务的 XML 解析指南

在应用开发过程中,我们常常会遇到需要与旧服务集成的情况,而这些服务的设计往往不受我们控制。许多旧服务(甚至一些新服务)会使用 XML 格式,如 SOAP、XML - RPC 或 RESTful XML。本文将介绍一些用于解析和处理基于 XML 服务的工具,重点讲解使用 REXML 和 Nokogiri 解析 XML 响应,以及如何使用 Savon 处理基于 SOAP 的服务。

1. XML 解析概述

虽然 JSON 因其易用性和简洁性迅速成为序列化的首选方法,但客户端库有时仍需处理 XML。在 Ruby 中,有多种用于解析 XML 的库,包括 REXML、Nokogiri、Hpricot、LibXml Ruby 和 SimpleXML。本文主要关注 REXML 和 Nokogiri,原因如下:
- REXML:包含在 Ruby 1.8 及更高版本的标准库中,是一个用纯 Ruby 编写的功能齐全的 XML 解析库,全面支持 XPath。
- Nokogiri:由 libxml 和 libxslt C 库支持的 HTML 和 XML 解析器,与 Ruby 的多个版本兼容,速度快,还支持强大的 CSS3 选择器。

为了更好地说明解析过程,我们以 Amazon EC2 Query API 的 “describe instances” 响应为例。以下是该响应的示例 XML:

<DescribeInstancesResponse
xmlns="http://ec2.amazonaws.com/doc/2009-08-15/"
<reservationSet&
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值