我能够使用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下的元素
答案 0 :(得分:0)
CDATA
部分中的数据被视为纯文本。您需要将其内容加载到新的DOMDocument
中。
您可以使用以下代码识别CDATA:
if (CmdNode.NodeType == XmlNodeType.CDATA)