【问题标题】:parsing CDATA in XElement在 XElement 中解析 CDATA
【发布时间】:2012-08-17 09:00:51
【问题描述】:

我正在尝试使用 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>"

【问题讨论】:

    标签: c# xml xml-parsing xmlreader xelement


    【解决方案1】:
    "<Text>&lt;[CDATA[Sample Text &lt;b&gt;BoldText&lt;/b&gt; ]]&gt;</m:FormText>"
    

    这不是 CDATA 段,而是文本段。您必须将其作为基本文本处理并自己处理提取 CDATA 信息。通过对 CDATA 信息进行编码,您使其不再匹配该格式。

    【讨论】:

      猜你喜欢
      • 2012-01-01
      • 2012-08-02
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多