我的行为非常奇怪,无法识别问题。在以下代码片段中,预期的结果是
<![CDATA[<air:FareInfo Key="10T"></air:FareInfo>/>]]>
但我得到
<air:FareInfo Key="10T"></air:FareInfo>/>
为什么输出中缺少 CDATA 标记?我只是使用 XmlReader.ReadString() 并忽略 CDATA 标记。
string xml = "<FareInfo>" +
"<![CDATA[<air:FareInfo Key=\"10T\">" +
"</air:FareInfo>/>]]>" +
"</FareInfo>";
Encoding encoding = new UTF8Encoding();
byte[] buffer = encoding.GetBytes(xml);
MemoryStream stream = new MemoryStream(buffer);
XmlReaderSettings settings = new XmlReaderSettings();
XmlReader reader = XmlReader.Create(stream, settings);
reader.Read();
string output = reader.ReadString();
Console.Write(output);
在这方面的任何帮助都将是非常可观的。