1

CDATA 要素を含む XML を解析しようとしています...CDATA のコンテンツが xml エンコードされている場合、以下のコードが爆発します...解析する前にすべての xml をデコードできる方法はありますか..

---解析するコード

if (formText.FirstNode.NodeType == XmlNodeType.CDATA) { return formText.Value; }
else { throw new applicatinException("ERROR")}

このコードは、formText が

  "<Text><![CDATA[Sample Text<b>BoldText </b>]]></m:FormText>"

ただし、formTextに(エンコードされた値)がある場合は爆発します

  "<Text>&lt;[CDATA[Sample Text &lt;b&gt;BoldText&lt;/b&gt; ]]&gt;</m:FormText>"
4

1 に答える 1

1
"<Text>&lt;[CDATA[Sample Text &lt;b&gt;BoldText&lt;/b&gt; ]]&gt;</m:FormText>"

これは CDATA セグメントではなく、テキスト セグメントです。それを基本的なテキストとして処理し、CDATA 情報の抽出を自分で処理する必要があります。CDATA 情報をエンコードすることで、その形式と一致しなくなりました。

于 2012-08-22T00:01:56.663 に答える