我正在研究C#/ ASP.Net项目。

假设这是一个xml文档:

parent1
    child1 attributeA
    child2 attributeA

parent2
    child3 attributeA
    child4 attributeB


我想在带有attributeA的任何东西之间使用下一个和上一个按钮进行导航,因此,如果我在parent1 / child2中,则next将是parent2 / child3,而上一个将是parent1 / child1。

我可以创建一个新的XML文档,可以加载它,也可以获取当前节点,但是我不知道下一个和上一个。

我怎样才能做到这一点?有一阵子没做过xpaths了。一会儿。我环顾四周,寻找类似的东西,但要么不在那里,要么找不到。

有人可以帮忙吗?

最佳答案

The MSDN has a nice article about XPaths with great examples

但是此代码应为您提供所有具有attributeA的节点,无论它们在XML中的嵌套位置如何:

var doc = new XmlDocument();
doc.Load(@"C:\path\to\file.xml");
XmlNodeList nodes = doc.SelectNodes("//*[@attributeA]");
foreach (var node in nodes)
{
    // your code here
}


路径//*[@attributeA]可以归结为:

//“深一层或多层”

*“任何元素”

[@attributeA]“具有属性'attributeA'”

关于c# - 在具有相同属性的XML元素之间导航,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51958634/

10-11 11:04