コンテンツ自体が HTML である Stax を使用して XML データを書き込もうとしています。
私が試したら
xtw.writeStartElement("contents");
xtw.writeCharacters("<b>here</b>");
xtw.writeEndElement();
私はこれを得る
<contents><b>here</b></contents>
次に、CDATA メソッドに気付き、コードを次のように変更します。
xtw.writeStartElement("contents");
xtw.writeCData("<b>here</b>");
xtw.writeEndElement();
そして今回の結果は
<contents><![CDATA[<b>here</b>]]></contents>
これはまだ良くありません。私が本当に欲しいのは
<contents><b>here</b></contents>
CDATAセクションにいなくても生のテキストを書くことができるXML API/ライブラリはありますか? これまでのところ、私は Stax と JDom を見てきましたが、これを提供していないようです。
最終的には古き良き StringBuilder に頼るかもしれませんが、これはエレガントではありません。
アップデート:
これまでの回答にほぼ同意します。ただし<b>here</b>
、1MB の HTML ドキュメントをより大きな XML ドキュメントに埋め込みたいと考えています。あなたが提案したことは、その構造を理解するためにこの HTML ドキュメントを解析する必要があることを意味します。できればこれは避けたいです。
答え:
そうしないと、無効な XML ドキュメントが作成される可能性があります。