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

Blogs

Careful with the XMLStreamReader#getText()!

Igor Spasić
Igor Spasić
読了時間: 1分未満

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() :)
ページコメント
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...

結果が見つかりません。

More Blog Entries...