1

こんにちは、XML の属性にメッセージを渡しています。xml は「emailBodyXML」で、メッセージを受信したい属性は「body」です。私が渡すメッセージは、変数「emailBody」に含まれています。

私はこのコードを持っています:

emailBodyXML.selectSingleNode("//email").setAttribute("body", "<![CDATA[" + emailBody + "]]>");

emailBody に含まれている可能性のある html タグを無視するようにしたいので、cdata を入れます。しかし、デバッグすると、html タグが&lt;orに変換され&gt;ます。私はそれがそれに変換されるのが好きではありません。「<」と「>」を引き続き表示したい。コードの何が問題になっていますか?

4

2 に答える 2

2

属性値に含めることはできない<ため、<![CDATA[... は無効です。<エンティティ(および引用符、アンパサンドなど)を使用しないと、属性値にマークアップを入れることはできません。あなたの最善の策CDATAは、代わりに要素で使用することです。

http://www.w3.org/TR/2008/REC-xml-20081126/#attdecls

例:

<body><![CDATA[<p>HTML MARKUP GOES HERE.</p>]]></body>
于 2012-10-05T03:56:26.297 に答える