Groovy XmlSlurper 获取没有子节点的节点的值

2024-02-19

我正在解析 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>

Code:

def tagsoupParser = new org.ccil.cowan.tagsoup.Parser()
def slurper = new XmlSlurper(tagsoupParser)
def htmlParsed = slurper.parseText(stringToParse)

println htmlParsed.body.div[0]

然而上面的代码返回:

我想要得到的额外内容文本。链接到示例

如何仅获取父节点值而不获取子节点值?例子:

我想得到的文字。

附: 我尝试通过执行子字符串来删除额外的元素,但事实证明它是不可靠的。


如果您切换到使用XmlParser代替XmlSlurper, 你可以做:

println htmlParsed.body.div[0].localText()[0]

假设你是在 Groovy 2.3+ 上 http://docs.groovy-lang.org/latest/html/api/groovy/util/Node.html#localText()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Groovy XmlSlurper 获取没有子节点的节点的值 的相关文章

随机推荐