Как получить расположение символа XmlElement?

Скажем, в моем коде С# я получил XmlElement (или XElement) из XmlDocument (или XDocument). strong > ). Как получить расположение символов этого XmlElement в XML файле?

Другими словами, я хочу сказать

"Your element starts on the 176th character in the text file containing the XML",

not

"Your 'book' element is the 3rd 'book' element in the whole XML document".
1 ответ

Я не уверен, можно ли определить номер char, но вы можете найти номер строки и позицию внутри строки:

var document = XDocument.Load(fileName, LoadOptions.SetLineInfo);
var element = document.Descendants("nodeName").FirstOrDefault();
var xmlLineInfo = (IXmlLineInfo)element;
Console.WriteLine("Line: {0}, Position: {1}", xmlLineInfo.LineNumber, xmlLineInfo.LinePosition);

licensed under cc by-sa 3.0 with attribution.