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

Blogs

Careful with the XMLStreamReader#getText()!

Igor Spasić
Igor Spasić
Kevesebb, mint egy perces olvasmány

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() :)
Hozzászólások az oldalhoz
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...

Nincsenek találatok

More Blog Entries...