【发布时间】:2019-06-19 16:22:49
【问题描述】:
我正在尝试使用 Jsoup 解析 XML 格式的文档,特别是下面示例代码中段落标记中的内容。
...
<nitf:body.content>
<p> Content would be here. </p>
</nitf:body.content>
...
文档中有多个段落标签。因此,我选择使用选择器语法进入 body.content 标签,然后是它下面的段落标签。我正在尝试但未能立即获得它:
// epochFileDoc is the name of the document with the code shown above.
Element tag_element = epochFileDoc.selectFirst("nitf|body.content > p");
我尝试了几种不同的选择器语法组合,包括“nitf|content.body > p”和“nitf|body > p”。我试过的都没有。
如何在 Jsoup 中使用 selector-syntax 来获取上面显示的段落标签?
编辑:我明白为什么 content.body 在选择器语法中不起作用,因为它在标签中搜索 nitf:content="body" ,但我仍然不知道如何获取该元素。
【问题讨论】:
-
你可以使用不同的 XML 解析器,例如:一个基于 en.wikipedia.org/wiki/Document_Object_Model 和 en.wikipedia.org/wiki/XPath 的解析器,而不是只支持 CSS 选择器的解析器?点在 CSS 中具有特殊含义。
-
如果可以的话,我会遵循这个建议;我需要为这个软件使用 Jsoup。我为这个问题创建了一个解决方法,我将在稍后发布,因为点具有特殊含义(就像你说的那样)。
标签: jsoup