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']操作即可。

发布了19 篇原创文章 · 获赞 4 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章