C#使用带有后代的另一个属性在XML中查找属性

时间:2017-10-12 08:03:22

标签: c# xml search attributes

首先,我想查找并从<a [routerLink]="['/category-details' , tile.id]" mat-button color='primary'>View</a> 中选择PID"5678"。借助此PID,我想查找并从<Tool>中选择ID"5678"。 PID和ID是相同的值,但我必须先从<Parent>找到它。 目前我有以下代码,选择第一个PID。我怎样才能复制&#34;这个值并用它们搜索属性&#34; ID&#34;?

<Tool>

1 个答案:

答案 0 :(得分:0)

请注意,您的Xml有多个Root节点 - 这些节点效果不佳。 所以将它包装成单个父节点(即下例中的“Root”) 这种东西可以帮到你。

string xmlData = @“...你的Xml在这里....”;

        var xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(xmlData);


        var pidNodes = xmlDoc.SelectNodes("//Root/Tools/Tools/Tool/PID");

        foreach(XmlNode node in pidNodes)
        {
            var typeNodeForPid = xmlDoc.SelectSingleNode(string.Format("//Root/Type/Parent[ID = '{0}']", node.InnerText));
        }