使用XmlReader解析XML文件时,结果会根据XML文件是否格式正确(即是否包含换行符)而不同。
以下是我的代码:
以下是我的代码:
XmlReader reader = new XmlTextReader(xmlfile);
reader.MoveToContent();
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.Name == "entry")
{
Console.WriteLine(reader.ReadElementContentAsString());
}
break;
}
}
我将使用的XML内容如下:
<xport><meta><columns>5</columns><legend><entry>AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:memory_total_kib</entry><entry>AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:memory_free_kib</entry><entry>AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_memory_usage_kib</entry><entry>AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_free_memory_kib</entry><entry>AVERAGE:host:ed402b4d-71e7-4a8d-be29-ab6e54e955c8:xapi_live_memory_kib</entry></legend></meta></xport>
这段代码只打印出了3行,但实际上应该打印5行。我想我可能漏了什么,但对于我来说,同样的代码在没有空格的情况下在相同的XML文件上产生不同的结果是不合理的。