我将会翻译以下XML代码,该代码代表一篇新闻文章:
我得到了以下XML代码,它代表一篇新闻文章:
<content>
Some text blalalala
<h2>Small subtitle</h2>
Some more text blbla
<ul class="list">
<li>List item 1</li>
<li>List item 2</li>
</ul>
<br />
Even more freakin text
</content>
我知道这种格式并不理想,但现在我必须接受它。
文章应该如下所示:
- 一些文本 blalalala
- 小标题
- 项目列表
- 更多的文字
我使用Jsoup解析此XML。我可以使用 doc.ownText()
获取<content>
标记内的文本,但是我不知道其他内容(副标题)放在哪里,我只得到一个大的 String
。
是否最好使用基于事件的解析器?(我讨厌他们:()或者有没有可能做像doc.getTextUntilTagAppears("tagName")
这样的操作?
编辑:为了澄清,我知道如何获取<content>
下的元素,我的问题是如何获取<content>
内的文本,并在被元素中断时进行分割。
我学到了可以使用.textNodes()
获取content
内的所有文本,这很好用,但是我不知道每个文本节点在我的文章中属于哪个部分(顶部h2之前的一个,在底部的另一个)。