Use jsoup to parse XML - prevent jsoup from quot;cleaningquot; lt;linkgt; tags(使用jsoup解析XML——防止jsoup“清理lt;链接gt;标签)
问题描述
在大多数情况下,我使用 jsoup 解析 XML 没有问题.但是,如果XML文档中有<link>
标签,jsoup会将<link>这里的一些文本</link>
改为<link/>这里有一些文字
.这使得无法使用 CSS 选择器提取 <link>
标记内的文本.
In most case, I have no problem with using jsoup to parse XML. However, if there are <link>
tags in the XML document, jsoup will change <link>some text here</link>
to <link />some text here
. This makes it impossible to extract text inside the <link>
tag using CSS selector.
那么如何防止jsoup清理"<link>
标签呢?
So how to prevent jsoup from "cleaning" <link>
tags?
推荐答案
在jsoup 1.6.2 我添加了一个 XML 解析器模式,它按原样解析输入,而不应用 HTML5 解析规则(元素内容、文档结构等).此模式会将文本保留在 <link>
标记中,并允许多个标记,等等.
In jsoup 1.6.2 I have added an XML parser mode, which parses the input as-is, without applying the HTML5 parse rules (contents of element, document structure, etc). This mode will keep text in a <link>
tag, and allow multiples of it, etc.
这是一个例子:
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
这篇关于使用jsoup解析XML——防止jsoup“清理"<链接>标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用jsoup解析XML——防止jsoup“清理"<链


基础教程推荐
- 在螺旋中写一个字符串 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01