HTMLコンテンツをXMLドキュメントに挿入する必要がありますが、これは可能ですか、またはHTMLコンテンツは、たとえばBASE64でエンコードする必要がありますか?
HTMLコンテンツを含めることができます。可能性の1つは、前述のようにBASE64でエンコードすることです。
もう1つは、 CDATA
タグを使用している可能性があります。
CDATA
を使用した例:
<xml>
<title>Your HTML title</title>
<htmlData><![CDATA[<html>
<head>
<script/>
</head>
<body>
Your HTML's body
</body>
</html>
]]>
</htmlData>
</xml>
ご注意ください:
CDATAの開始文字シーケンス:<![CDATA[
CDATAの終了文字シーケンス:]]>
htmlコンテンツにCDATA
要素を含める必要がない限り、CDATA
要素にHTMLを含めることができます。そうでない場合は、XMLエンティティをエスケープする必要があります。
<element><![CDATA[<p>your html here</p>]]></element>
VS
<element><p>your html here</p></element>
BASE64エンコードの目的は、バイナリデータを取得し、それを文字列に保持できるようにすることです。そのメリットには、結果のサイズの増加というコストがかかります(4対3の比率だと思います)。 2つの解決策があります。データが整形式のXMLであることがわかっている場合は、直接含めます。もう1つの優れたオプションは、XML内の要素内のCDATAセクションにHTMLを含めることです。
こちらをご覧ください。
CDATAセクション内のテキストはパーサーによって無視されます。
http://www.w3schools.com/xml/dom_cdatasection.asp
これは、XMLの基本を理解するのに役立ちます