ruby 用正则表达式解析不规则xml文件

require 'net/http'
url='--------balabala--------------------------------'
response=Net::HTTP.get_response(URI(url))
s=response.body
hash=Hash.new()
#puts s
pattern1= /\>(.*)\<\/(.*)\>/
s.scan(pattern1).each {|m| hash["#{m[1]}"]="#{m[0]}"} 


因为开发人员提交的api页面xml文件是拼接成的,所以无法用xml解析函数调取元素及值,进行下一步判断

最近学习中正好遇到正则表达式相关的内容,于是写了如上的代码,将xml每个元素及其值都存入hash表中

这样调用的时候就方便多了。url因为公司关系无法透漏,

put s

大致格式如下:

<?xml version="1.0" encoding="gbk" standalone="yes" ?>
<res>
<s>100</s>
<i>
<r>
<ip>61.135.169.125</ip>
<acc>110</acc>
<m1>0</m1>
<m5>0</m5>
<h1>13</h1>
</r>
</i>
<id>31012558281649493063620233677103</id>
</res>


这样下去如果下一步想在自动化测试中,坚持m1节点的值   或者其他节点的值

直接对 hash['m1']操作即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值