У меня есть файл XML, мне нужно перебрать файл XML и сравнить значение атрибута узлов.Условие - это то, что атрибут в элементе узла должен иметь определенный набор значений.
Позвольте мне сделать это более простым для понимания, показав пример ниже:
<Node name="SomeName">
<Element attribute="somevalue"/>
</Node>
<Node name="SomeNameMore">
<Element attribute="somevalue"/>
</Node>
<Node name="SomeNameEtc.">
<Element attribute="somevaluenotmatch"/>
</Node>
<Node name="SomeName">
<Element attribute="somevalue"/>
</Node>
Есть 100 изаналогичные узлы в файле XML.
1-е условие: совпадение с атрибутом 'somevalue'
2-е условие: сравнение всех узлов в 1-м условии (результат) для имени атрибута в узле.
У меня естьсделано как показано ниже:
XmlTextReader Reader = new XmlTextReader("C:\\TEST\test.xml");
XmlDocument doc = new XmlDocument();
doc.Load(Reader);
XPathNavigator nav = doc.CreateNavigator();
XmlElement rootNode = doc.DocumentElement;
XPathExpression expr;
expr = nav.Compile("//Element[@attribute='somevalue']");
XPathNodeIterator iterator = nav.Select(expr);
foreach (XmlElement item in iterator)
{
//how do go back to node here (whose element has attribute 'somevalue' and compare with the next node if the attribute 'name' of Node matches
} ;