我在groovy中正在阅读带有XmlParser的html页面。
这是我正在使用的代码:
tr?.td?.each{
println it
}
它打印以下内容:
td[attributes={colspan=9, width=129}; value=[p[attributes={}; value=[O-???????????]]]]
该页面包含unicode文本,但如果我打印:
it.text()
它什么都不打印。我希望 中的内容。
答案 0 :(得分:0)
我无法得到你描述的行为。给定
def xml = '''<html>
<body>
<table>
<tr>
<td>Woo</td>
<td>Yay</td>
</tr>
<tr>
<td>Woo</td>
<td>Yay</td>
</tr>
</table>
</body>
</html>'''
import groovy.xml.*
new XmlParser().parseText( xml ).body.table.tr.td.each {
println it.text()
}
打印
Woo
Yay
Woo
Yay
答案 1 :(得分:0)
做theis it.get(0).text()
理由就是你得到的 td [attributes = {colspan = 9,width = 129};值= [P [属性= {};值=〔O - ???????????]]]]
是NodeList,它是arraylist的子类。 但.text()是Node的方法。 所以你需要从NodeList获取Node obj然后执行.text()