当前位置: 首页 > 面试题库 >

使用jsoup解析XML-防止jsoup“清除” 标签

鲍鸿波
2023-03-14
问题内容

在大多数情况下,使用jsoup解析XML都没有问题。但是,如果有<link>XML文档中的标签,jsoup将改变<link>some text here</link><link />some text here。这样就无法<link>使用CSS选择器提取标签内的文本。

那么如何防止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


 类似资料:
  • 我正在尝试解析

  • 问题内容: 我想删除标签之间的所有内容。输入示例可能是 输入: 输出将是: 基本上,我必须先删除整个区块 谢谢, 问题答案: 您最好对找到的 所有 元素进行迭代。所以你可以保证 a。)所有元素都被删除并且 b。)如果没有元素,那么什么也做不了。 例: 编辑: (除了我的评论) 当简单的 null /范围检查 在这里足够时,请不要使用异常处理: 代替:

  • 我试图从这些div标签中获取文本,但是它们都不返回任何内容: HTML: 我想得到div类“消息”和h4标记和跨越“日期时间”中的文本,我试图: 和: 但是他们没有成功。

  • 我想解析出这个Nasa页面上的描述,页面底部的文字 我该怎么做?

  • 问题内容: 在页面中,我想选择一个变量的值。以下是页面的摘要。 我的目的是使用来从此页面读取变量的值。有可能吗?如果是,那怎么办? 问题答案: 由于jsoup不是javascript库,因此有两种方法可以解决此问题: A.使用JavaScript库 优点: 全面的Javascript支持 缺点: 附加的天秤/依赖项 B.使用Jsoup +手动解析 优点: 无需额外的库 足以完成简单的任务 缺点:

  • 主要内容:Jsoup 使用DOM解析HTML 语法,Jsoup 使用DOM解析HTML 说明,Jsoup 使用DOM解析HTML 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。 Jsoup 使用DOM解析HTML 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html