Когда я использую 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-файле, когда у меня нет пробелов.