c# - XDocument中当前节点的路径

标签 c# linq-to-xml

是否可以在 XDocument 中获取当前 XElement 的路径?例如,如果我遍历文档中的节点,是否有某种方法可以获得该节点 (XElement) 的路径,以便它返回类似\root\item\child\currentnode 的内容?

最佳答案

没有内置任何东西,但您可以编写自己的扩展方法:

public static string GetPath(this XElement node)
{
    string path = node.Name.ToString();
    XElement currentNode = node;
    while (currentNode.Parent != null)
    {
        currentNode = currentNode.Parent;
        path = currentNode.Name.ToString() + @"\" + path;
    }
    return path;
}


XElement node = ..
string path = node.GetPath();

但这并没有考虑元素在其对等组中的位置。

关于c# - XDocument中当前节点的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903953/

相关文章:

c# - 将后台工作人员的数量限制为两个,并在添加时完成工作

c# - XML 中命名空间的区别

c# - 使用 XElement 的方法 Elements(XName) 的 Linq To Xml 问题

c# - ClickOnce 文件不会关联从 Web 浏览器下载打开

c# - 如何在不使用ajax的情况下将数据从View发送到Controller?

c# - 其项目c#中所有子项目的可点击 ListView

c# - 更新 IEnumerable<XElement> 并将更改保存在 XML 文档中 C#

c# - 比较两个 xml 并使用 LINQ 打印差异

c# - 3 尝试使用 C# 删除 XML 节点

c# - 在 C# 中构建一个简单的高性能树数据结构