私は次のDOMを持っています
<row>
<link href="Büro.txt" target="_blank">
my link
</link>
</row>
Java XmlSerializerを使用してファイルにシリアル化すると、次のようになります。
<row>
<link href="B&#252;ro.txt" target="_blank">
my link
</link>
</row>
XmlSerializerが属性のエスケープを処理する方法を制御する方法はありますか?これを別の方法で行う必要がありますか?
アップデート
また、jre1.6を使用しているとも言えます。私は最近までjre1.5を使用していましたが、「正しく」シリアル化されたと確信しています(つまり、「&」はエスケープされませんでした)。
明確化
DOMはプログラムで作成されます。次に例を示します。
Document doc = createDocument();
Element root = doc.createElement("root");
doc.appendChild(root);
root.setAttribute("test1", "ê");
root.setAttribute("test2", "üöä");
root.appendChild(doc.createTextNode("ê"));
StringWriter sw = new StringWriter();
serializeDocument(doc, sw);
System.out.println(sw.toString());
私のソリューション
では、かなりの量のコード変更とテストが必要だったため、これを実行したくありませんでしたが、属性データをCDATA要素に移動することにしました。問題は回避されました。