5

如果我有一个 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 验证器。根据API docsgetElementText() ,如果您要在START_ELEMENT内部遇到另一个事件,则无法使用来获取文本。那么……你能用什么?

4

2 回答 2

3

使用getText

getText() 以字符串形式返回解析事件的当前值,它返回 CHARACTERS 事件的字符串值,返回 COMMENT 的值,ENTITY_REFERENCE 的替换值,CDATA 部分的字符串值,字符串值对于 SPACE 事件,或 DTD 内部子集的字符串值。如果已解析 ENTITY_REFERENCE,则任何字符数据都将报告为 CHARACTERS 事件。

于 2012-11-04T12:29:14.767 回答
1

我认为您需要<title>单独解析标签内的元素(this is a然后是<othertag>...</...>后面的部分tag inside of it

于 2012-11-04T12:37:55.460 回答