Select XML Nodes by Attribute Value [C#]

时间:2021-02-13 15:05:48

This example shows how to select nodes from XML document by attribute value. Use methodXmlNode.Selec­tNodes to get list of nodes selected by the XPath expression. Suppose we have this XML file.

[XML]

<Names>
    <Name type="M">John</Name>
    <Name type="F">Susan</Name>
    <Name type="M">David</Name>
</Names>

To get all name nodes use XPath expression /Names/Name. To get only male names (to select all nodes with specific XML attribute) use XPath expression /Names/Name[@type='M'].

[C#]

XmlDocument xml = new XmlDocument(); xml.LoadXml(str); // suppose that str string contains "<Names>...</Names>" XmlNodeList xnList = xml.SelectNodes("/Names/Name[@type='M']"); foreach (XmlNode xn in xnList) { Console.WriteLine(xn.InnerText); }

The output is:

John
David