QA@IT

JSPでXMLを表示し、Firefoxで見ると「XML パースエラー: 整形式になっていません。」

4383 PV

tomcatの環境で、JSPでXMLデータを出力しようとしています。
以下のXMLを表示し、Firefoxで表示した場合、エラーになります。
なぜか&を取り外すとエラーが無くなります。
&を&に変更したところ、画面上では&に表示されるんですが、ソースをダウンロードすると、&になってしまいます。
サニタイズすると、データとしては使用できないのです。

データとしてXMLを使用できて、しかもFirefoxから表示できる方法は無いのでしょうか。

<?xml version="1.0" encoding="UTF-8"?>
<res>
    <data_url>http://yahoo.co.jp/?abc=1&def=2</data_url>
</res>

回答

実体参照に置き換えるのが正しいXMLですが、
何の問題があるのでしょうか?


実体参照に置き換えられた、&amp;(2byte文字で書いてます)を読み込んで、
データとして使えないとしたら、まともなXMLのパーサーを使っていないだけですよね?
編集 履歴 (0)
  • ああ、なるほど!実態参照で、同じ意味になるのだから、&amp;が正しいはずなんですね!すみません、勘違いしてました。ありがとうございます。IEやFirefoxでちゃんと見れるのは、正しい表記だからなんですね…。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。