Как получить местоположение символа XmlElement? - PullRequest
3 голосов
/ 08 июня 2011

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

Другими словами, я хочу, чтобы мне сказали

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

, а не

"Your 'book' element is the 3rd 'book' element in the whole XML document".

1 Ответ

4 голосов
/ 08 июня 2011

Я не уверен, что это возможно, чтобы определить номер символа, но вы можете найти номер строки и положение внутри строки:

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);
...