Неверный XML в C#
Разбор XML в System.Xml.Linq требует
корректной вложенности тегов. Незакрытый
"item" или перепутанный закрывающий тег
ломает документ ещё до построения дерева.
При ошибке разбора метод Parse бросает XmlException. Исключение перехватывают, чтобы сообщить об ошибке, а не оборвать программу:
using System.Xml.Linq;
try
{
XDocument.Parse("<root><item></root>");
}
catch (System.Xml.XmlException)
{
Console.WriteLine("bad xml");
}
Корректная строка разбирается без исключения. Печатают имя корня:
using System.Xml.Linq;
string ok = "<root><item id=\"1\"/></root>";
XDocument doc = XDocument.Parse(ok);
Console.WriteLine(doc.Root!.Name.LocalName);
Попробуйте разобрать строку "<a></b>"
и выведите "parse fail" при
XmlException.