Groovy 解析时的XmlSlurper问题
我的XML如下所示Groovy 解析时的XmlSlurper问题,groovy,xmlslurper,Groovy,Xmlslurper,我的XML如下所示 <div class="storeContainer"> <div class="storeCount">50</div> <div class="mapAddress" id="store50"> <h4 onclick="changeMap(50,38.872432,-78.530463);">Woodstock, VA</h4> <h
<div class="storeContainer">
<div class="storeCount">50</div>
<div class="mapAddress" id="store50">
<h4 onclick="changeMap(50,38.872432,-78.530463);">Woodstock, VA</h4>
<h5>Woodstock Square</h5>467 West Reservoir Road
<br/>540-459-7505
<br/>
<a href="https://maps.google.com/maps?saddr=geo&daddr=467+West+Reservoir+Road+Woodstock+VA+22664&sll=38.872432,-78.530463&sspn=0.011265,0.014098&z=12"
class="getDirections">Get Directions</a>
</div>
</div>
</div>
要获取值,但我不知道如何获取西水库路467号和540-459-7505号,如果切换到
XmlParser
,可以执行以下操作:
def envelope = new XmlParser().parseText(xml);
envelope.'**'.find { it.@class == 'mapAddress' }.with { node ->
println h4.text()
println h5.text()
println a.@'href'
println node.children().findAll { it.getClass() == String }*.trim()
}
非常感谢你,蒂姆!:-)@Thangaveloganathan,如果这有助于你需要提姆-实际上我得到了50多个storecontainer div标签意味着我得到了50多个mapaddress div。我想逐一迭代。我使用了每种方法,但没有运气,因为我是新手。我可以使用以下行获取值“node.children().findAll{it.getClass()==String}*.trim()”。我想在下一条线路中使用一些拆分操作分离467西水库路和540-459-7505。你能告诉我这件事吗。那太好了!提前谢谢。你得到的是一份价值清单。您可以通过它们进行迭代。
def envelope = new XmlParser().parseText(xml);
envelope.'**'.find { it.@class == 'mapAddress' }.with { node ->
println h4.text()
println h5.text()
println a.@'href'
println node.children().findAll { it.getClass() == String }*.trim()
}