XML形式のファイル(ルートの開始タグと終了タグ、ルートの子からなる)があります。子要素のテキスト要素には、アンパサンド記号&が含まれています。 XMLでは、このシンボルを有効にするためにこのシンボルを使用することはできません。また、DOM APIをJavaおよびXMLパーサーで使用してファイルを処理しようとすると、解析エラーが発生しました。したがって、&を&
に置き換え、ファイルを正常に処理しました。別のプレーンテキストファイルのテキスト要素の値を抽出する必要がありました。XMLファイルの特殊文字 - DOM APIを使用した処理
これらの新しく作成されたテキストファイルを開くと、&
が表示されると予想されましたが、代わりに&がありました。どうしてこれなの?私はテキストを拡張子なしでテキストファイルに保存しています(XML形式のオリジナルファイルにも.xml拡張子はありません)。ファイルをどのように開いても、新しいファイルのテキストにはただ&しかありません。 (XMLエディタのいくつかのオプションです)。正確にはどうなりますか? Java(?)は&
から&に自動的に変換されますか?または、デフォルトのエンコードがいくつかありますか?まあ、&
は&の略で、「見えない」自動変換がいくつかあると思いますが、いつ、どのように起こるのか混乱します。ここで私は、Javaと元のファイルを処理した後、私が受け取る私の元のファイルの例と、抽出されたファイルです:
これは、XML形式での私の「negative.review」ファイルです:
<review>
<review_text>
I will not wear it as it is too big & looks funny on me.
</review_text>
</review>
これは私です解凍したファイル「negative_1」:私にとって
I will not wear it as it is too big & looks funny on me.
(任意の変換/置換を行うことなく)であるとして、元のデータを持っていることが重要ですので、私は、私が抽出されたファイル「negative_1」の変換を処理しなければならないと思いました戻る&
〜&。あなたが見ているように、私はこれをする必要はないようです。なぜ:(しかし、私は理解していません。
は事前にありがとうございます!
「ルートの開始タグと終了タグだけで構成され、ルートの子で構成されています。これがXMLの定義です(ルート要素は1つだけです)。 – PhiLho
http://stackoverflow.com/questions/4341145/how-to-deal-with-special-characters-in-urls-inside-xml – sandeepKumar