Java XMLStreamReader,当文本包含START_ELEMENT时如何获取元素文本

时间:2012-11-04 12:04:24

标签: java xml parsing xml-parsing xmlstreamreader

如果我有一个XML元素,例如:

<title>this is a title</title>

使用XMLStreamReader非常容易获得文本。getElementText()。但是,如果我遇到这样的元素,我无法弄清楚如何获取文本:

<title>this is a <othertag>title with another</othertag> tag inside of it</title>

我甚至不确定这是否是有效的XML,但它似乎通过了我尝试过的W3C验证器。根据{{​​3}},如果您要在内部遇到另一个getElementText()事件,则无法使用START_ELEMENT来获取文本。那么......你使用可以

2 个答案:

答案 0 :(得分:2)

使用getText

  

getText()以字符串形式返回parse事件的当前值,   这将返回CHARACTERS事件的字符串值,并返回该值   一个评论,一个ENTITY_REFERENCE的替换值,   CDATA部分的字符串值,SPACE事件的字符串值,   或DTD内部子集的String值。如果   ENTITY_REFERENCE已解决,任何字符数据都将被解析   报告为CHARACTERS事件。

答案 1 :(得分:1)

我认为您需要分别解析<title>标记内的元素(this is a然后<othertag>...</...>部分后跟tag inside of it