[英]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.