通过 XPath 从 html 中选择元素值

Select element value from html via XPath

提问人:DeMmAge 提问时间:11/5/2023 更新时间:11/5/2023 访问量:40

问:

我有一个看起来像这样的html元素:

<p>
<strong>Popular resonses: </strong>
bat, butterfly, moth
</p>

Html 包含所有带有标签的元素。<p>

我需要提取值(蝙蝠、蝴蝶、飞蛾)。<p>

谢谢。

附言

我试图解析它,但它确实不起作用。 我正在使用 JSoup 作为解析库。MatcherPattern

java html xpath jsoup

评论


答:

1赞 TDG 11/5/2023 #1

您可以使用以下方法获取所需的文本 -

Elements el = doc.select("p:has(strong)");
    for (Element e : el) {          
        System.out.println(e.ownText());
    }

这将在 html 中找到所有包含 的元素,并打印仅属于 但不属于pstrongpstrong -

蝙蝠, 蝴蝶, 飞蛾

如果你改用,你会得到元素中的所有文本 -e.text()p

流行共鸣:蝙蝠、蝴蝶、飞蛾

如果你只有一个这样的元素,你也可以使用 -

Element e = doc.select("p:has(strong)").first();
System.out.println(e.ownText());

这为您节省了循环。

评论

2赞 Siebe Jongebloed 11/5/2023
XPath 在哪里?