使用 System.Xml.XmlDocument 时,是否可以从 System.Xml.XmlNode 获取行号/位置?

Mad*_*unk 6 c# xml xmlnode .net-3.5

标题说明了一切...

是否有可能获得来自行号/位置System.Xml.XmlNode与工作时System.Xml.XmlDocument

我想要这些信息,以便我可以通知用户他们需要在 Xml 文件中查找特定信息的位置。我见过与XmlReaderon SO相关的类似问题,但没有真正回答我的问题。

我想我可以在 xml 文件中搜索OuterXml我感兴趣的节点,但这似乎很糟糕,如果该信息多次出现在文件中怎么办?一定会有更好的办法?

更新: 我正在使用以下方法加载我的 xml 文件:

xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = true;
xmlDoc.Load(filename);
Run Code Online (Sandbox Code Playgroud)

Ric*_*der -1

您可以使用IXmlLineInfo 接口来完成此操作。

我知道使用XDocumentandXPathDocument你可以将一个节点投射到IXmlLineInfo. 我认为使用 XmlDocument 也是可能的。

  • 不,不能将其与 XmlDocument 一起使用 (2认同)
  • 谢谢,但我已经尝试过了。我得到“无法将类型为‘System.Xml.XmlElement’的对象转换为类型‘System.Xml.IXmlLineInfo’`... (2认同)