Question

If I have an XML element such as:

<title>this is a title</title>

The text is very easy to get using XMLStreamReader.getElementText(). However, if I run into an element like this, I cannot figure out how to get the text:

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

I wasn't even sure if that was valid XML, but it seems to pass the W3C validator I tried it on. According to the API docs, you can't use getElementText() to get the text if you are going to encounter another START_ELEMENT event inside. So... what can you use?

Was it helpful?

Solution

Use getText

getText() returns the current value of the parse event as a string, this returns the string value of a CHARACTERS event, returns the value of a COMMENT, the replacement value for an ENTITY_REFERENCE, the string value of a CDATA section, the string value for a SPACE event, or the String value of the internal subset of the DTD. If an ENTITY_REFERENCE has been resolved, any character data will be reported as CHARACTERS events.

OTHER TIPS

I think you need to parse the elements inside the <title> tag separately (as this is a and then the <othertag>...</...> section followed by tag inside of it

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top