DEVCON 2026    |    2-5 November 2026 – QEII Centre – London, UK    |    Register now! 

Blogs

Careful with the XMLStreamReader#getText()!

Igor Spasić
Igor Spasić
Lectura de menos de un minuto

Let's read the tags content in following XML snippet:

<tag>foo&amp;boo</tag>

with the single call to (supposing everything is initialized correctly up to this point):

xmlStreamReader.getText()

We expect the string 'foo&boo' as result, right?

No! The return value is (or may be) just 'foo'. XMLStreamReader#getText() is allowed to break the text content into several chunks! For above example, we have 3 xml events (of type CHARACTER) sent one after another: foo, &, boo.

Use getText() in a loop to concatenate chunks and retrieve the whole text content. Or use getElementText() :)
Comentarios de la página
If the property javax.xml.stream.isCoalescing is set to true element content must be coalesced and only one CHARACTERS event must be returned for contiguous element content or CDATA Sections.

Related Assets...

No se encontraron resultados

More Blog Entries...