您的位置:首页 > 编程语言 > Ruby

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

2012-07-30 17:26 351 查看
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']操作即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息