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 回答