4

Java: 1.6
ウッドストック: 4.1.4

現在、Woodstox xml パーサーを友達にしようとしています。しかし、最初は本当に難しいです:)私は小さいですか?このようなxmlを解析するときの問題:

<teams>
    <team id="team1">Mom & Dad</team>
    <team id="team2">Son & Daughter</team>
</teams>

簡単ですが、残念ながら次の例外が発生します。

Exception in thread "main" [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character ' ' (code 32) (missing name?)
 at [row,col {unknown-source}]: [2,24]

これは、文字 & が原因で発生します。

質問:
この例外を取得せずに xml を正常に読み取ることは可能ですか?

事前にありがとう
ヒューバート

4

1 に答える 1

10

&は無効な文字であり、エスケープして表示する&amp;か、CDATA セクションで囲む必要があります。

<teams>
    <team id="team1">Mom &amp; Dad</team>
    <team id="team2"><![CDATA[Son & Daughter]]></team>
</teams>

出典: http://www.w3.org/TR/REC-xml/#syntax

アンパサンド文字 (&) と左山かっこ (<) は、マークアップ区切り文字として、またはコメント、処理命令、または CDATA セクション内で使用される場合を除き、リテラル形式で表示してはなりません。他の場所で必要な場合は、数字参照または文字列 " &amp;" と " &lt;" をそれぞれ使用してエスケープする必要があります。

于 2013-01-11T19:01:06.717 に答える