Groups | Blog | Home
all groups > dotnet xml > august 2005 >

dotnet xml : Line number information in XmlDocument?


Greg Allen
8/11/2005 9:39:44 AM
Is there a way to get line number information from an XmlDocument object?
As
I work with the various elements in the XmlDocument, I want to be able to
refer to the line number.

I found an article on extending the DOM, which seems to be exactly what I
want,
here:

http://msdn2.microsoft.com/library/e3x60fe9(en-us,vs.80).aspx

However, while it extends XmlElement to contain the line number information,
I can't
see where it is actually setting the line number information -- SetLineInfo
doesn't seem
to be called anywhere.

I know the XmlTextReader and other classes *do* contain line number
information, but
I don't want to use those for a variety of other reasons.

Can anyone help?

-- Greg Allen

Chris Lovett
8/12/2005 5:02:03 PM
No it does not keep that information. But the XPathDocument does.

XPathDocument doc = new XPathDocument("..\\..\\dataset1.xsd");
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator iter = nav.Select("*");
if (iter.MoveNext()){
XPathNavigator root = iter.Current;
IXmlLineInfo info = root as IXmlLineInfo;
Console.WriteLine(info.LineNumber +"," + info.LinePosition);
}




[quoted text, click to view]

AddThis Social Bookmark Button