私は XmlStreamReader がドキュメントの先頭から開始し (明らかに)、next() を呼び出したときに XML ドキュメントのルートにジャンプすることを期待しています。しかし、恐ろしいことに、内部にテキストがある最初のタグにジャンプし、常にルートを省略し、2 番目のタグ (???) を省略することがよくあります。
ドキュメントは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<objektliste xmlns="http://www.pixelboxx.de/ns/erco/translations/1.0">
<uebersetzungen key="122671" attribute="7505">
<thumbnail>abrakadabra.jpg</thumbnail>
<text sprache="1031">We like the abla abla abla</text>
<text sprache="2057">We like the spoonBlaBlaBla[en]</text>
<text sprache="1036">Wicher</text>
</uebersetzungen>
<uebersetzungen key="122679" attribute="7505">
<thumbnail>122679.jpg</thumbnail>
<text sprache="1031">Kiefer</text>
<text sprache="1036">franek</text>
</uebersetzungen>
</objektliste>
私は狂っているのだろうか、私の日食は狂っているのだろうか、それとも明らかな何かが見えないのだろうか? プログラムは常に「objektliste」を省略し、通常は最初に「thumbnail」にジャンプするように見えますが、以前のデバッグ セッションではさらにランダムに動作するように見えました。ヘルプ!!!
ところで、コードは非常に単純です。
XMLStreamReader streamReader = factory.createXMLStreamReader( is);
while( streamReader.hasNext())
{
//event type 7 here, everything seems to be ok.
streamReader.next();
//bang! armaggeddon - skips the root, jumps to thumbnail.