Search code examples
c#xmlselectnodes

select elements with the name attribute name in special xml structure


below is the structure of my xml document. I just want to first take the value of every node <attribute name="a"> then make a comparison of it with a given value. However I don't how to locate <attribute name="a"> of each node using xml selectnodes in c#. Google searches don't show any working solutions.

<nodes>     
 <node name = "node1">      
  <attribute name="a">This is node1 a</attribute>
  <attribute name="b">This is node1 b</attribute>
 </node>
 <node name = "node2">      
  <attribute name="a">This is node2 a</attribute>
  <attribute name="b">This is node2 b</attribute>
 </node>
 ...
</nodes>     

Solution

  • Assuming the XML markup in your question represents your whole document, you can do:

    XmlNodeList attrElements
        = yourDocument.SelectNodes("/nodes/node/attribute[@name='a']");