XPath is the content of XML, where SelectNodes is a method of XmlDocument or XmlNode in C#. SelectNodes uses XPath to select nodes.
Important syntax:
SelectNodes("item")
From the child node of the current node (son only, Select the node named item from (excluding grandchildren and great-grandchildren).
SelectNodes("/item")
Select the node named item from the child nodes of the root node.
SelectNodes("//item")
Select the node named item from the node at any position. To highlight this arbitrary position, it is not affected by the current node. That is to say, if the current node is on the 100th layer (a bit exaggerated), you can also select the node named item on the first layer.
SelectNodes(".")
Select the current node.
SelectNodes("..")
Select the parent node of the current node.
SelectNodes("//item[@name]")
Based on SelectNodes("//item"), a restriction is added, which is the requirement Has name attribute.
SelectNodes("//item[@name='111']")
Based on SelectNodes("//item[@name]") , a restriction has been added, which requires the name attribute value to be 111. Note that there are quotes in the syntax; if there are no quotes, it means that it is a numeric type. For numeric types, you can use the greater than sign, less than sign, etc., for example: SelectNodes("//item[@v>333]").
SelectNodes("//item[1]")
Select the first item, please note that it is the first one, not the second one. Also here refers to the first item between brothers, that is to say: if the parent has three items, choose the first one; if the second item of the parent has two sons with the same name as item, then The first son will be selected; if the third item of the parent also has two sons with the same name as item, the first son will also be selected...
SelectNodes("// item[last()-1]")
The penultimate node also refers to the penultimate node between brothers.
SelectNodes("//item[position()<=2]")
The nodes with the first and second positions (the first node’s position() is 1), which also refers to the position between brothers.
SelectNodes("//@name")
SelectNodes("/root/item/@name") Get the name attribute of item
Select the name attribute. Note that this time you select the attribute, not the node. Use the Value property to get the property value of the property collection.
SelectNodes("/root/item")
The item child node under the root node root.
SelectNodes("/root//item")
No matter it is a son, grandson, or great-grandson under the root node root, as long as it is named item Select them all.
Wildcard:
You can use * to represent any node name, such as SelectNodes("/channel/*/item");
Use @* to represent any attribute;
Use node() to represent any type of node;
Use text() represents a text type node, which actually means taking a text node (below the element node is the text node, and below the text node is the text).
Operator:
| means or. SelectNodes("//item|//channel"), select item or channel node.
The above is the content of Xml SelectNodes and XPath. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!