繁体   English   中英

如何在 C# 中使用 XmlReader 读取 CDATA?

[英]How to read CDATA using XmlReader in C#?

我可以使用 XmlReader 读取 xml,但无法读取 xml 的 CDATA 部分。

怎么读?

下面是我的代码

private void ParseDataValueNode(XmlReader CmdNode, Message Msg)
        {
            int DataValueNodeCount = 0;
            while (CmdNode.Read())
            {
                if (CmdNode.Name.Equals("DataValue") && CmdNode.NodeType == XmlNodeType.Element)
                {
                    DataValueNodeCount++;
                    ParseDataValueNode(CmdNode, Msg, DataValueNodeCount, true);
                }
            }
        }

XML

  <Response Id="2">
    <Information>
      <![CDATA[ <DataValue Name="abc" Value="dddd"/> <DataValue Name="ccc" Value="ffff"/> <DataValue Name="ddd" Value="dfdf"/> ]]>
    </Information>
  </Response>

如果 xml 不包含CDATA那么它工作得很好,但是如果CDATA它不读取 CDATA 下的元素

CDATA部分内的数据被视为纯文本。 您需要将其内容加载到新的DOMDocument 您可以使用以下代码识别 CDATA:

if (CmdNode.NodeType == XmlNodeType.CDATA)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM