在大多数情况下,使用jsoup解析XML没有问题。但是,如果XML文档中有<link>标记,则jsoup会将<link>some text here</link>更改为<link />some text here。这使得无法使用CSS选择器在<link>标记内提取文本。

那么如何防止jsoup“清除” <link>标签呢?

最佳答案

jsoup 1.6.2中,我添加了XML解析器模式,该模式可按原样解析输入,而无需应用HTML5解析规则(元素内容,文档结构等)。此模式会将文本保留在<link>标记中,并允许其倍数等。

这是一个例子:

String xml = "<link>One</link><link>Two</link>";
Document xmlDoc = Jsoup.parse(xml, "", Parser.xmlParser());

Elements links = xmlDoc.select("link");
System.out.println("Link text 1: " + links.get(0).text());
System.out.println("Link text 2: " + links.get(1).text());

返回值:
Link text 1: One
Link text 2: Two

08-18 00:57
查看更多