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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章