我正在解析HTML并尝试使用父节点本身的值,而没有子节点的值。
HTML示例:
<html>
<body>
<div>
<a href="http://intro.com">extra stuff</a>
Text I would like to get.
<a href="http://example.com">link to example</a>
</div>
</body>
</html>
代码:
def tagsoupParser = new org.ccil.cowan.tagsoup.Parser()
def slurper = new XmlSlurper(tagsoupParser)
def htmlParsed = slurper.parseText(stringToParse)
println htmlParsed.body.div[0]
但是上面的代码返回:
额外的东西我希望得到的文字。链接到示例
如何才能获得没有子节点的父节点值?例如:
我想要的文字。
P.S: 我尝试通过子串来删除额外的元素,但事实证明它是不可靠的。
答案 0 :(得分:2)
如果您切换为使用XmlParser
而不是XmlSlurper
,则可以执行以下操作:
println htmlParsed.body.div[0].localText()[0]
假设你是on Groovy 2.3+