gpt4 book ai didi

c# - 如何在 C# 中提取 xml 元素的路径?

转载 作者:数据小太阳 更新时间:2023-10-29 02:36:32 25 4
gpt4 key购买 nike

昨天我问了一个关于如何使用路径访问元素的问题,我得到了这个答案-

是否可以反其道而行之?意味着如果我找到一个特定的元素(xml中的level4)GetElementsByTagName 方法有没有办法获取此元素的路径并分配它到一个变量供以后使用?

<?xml version="1.0" encoding="utf-8" ?>
<level1>
<level2>
<level3>header3</level3>
<level4>header4</level4>
<level3>header31</level3>
</level2>
<level2>
<level3>nnn</level3>
<level3>nnnnn</level3>
</level2>
</level1>

最佳答案

假设您通过以下方式提取了您的节点

XmlNodeList nl = doc.GetElementsByTagName("level4");

然后

        XmlNode node = nl[0]; 
String sPath = node.Name;
System.Xml.XmlNode np = node.ParentNode;
while (np != null && np.NodeType != XmlNodeType.Document)
{
sPath = String.Format("{0}/{1}", np.Name, sPath);
np = np.ParentNode;
}
sPath = "/" + sPath;
Debug.WriteLine(sPath);

你得到“/level1/level2/level4”作为sPath的值

*Note: this in correct because in the input XML level3 is Sibling of level4 ( not Parent )

关于c# - 如何在 C# 中提取 xml 元素的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com