https://stackoverflow.com/questions/36019544/if-double-slash-is-used-2-times-in-xpath-what-does-it-mean
Double slash //
means any descendant node of the current node in the html tree which matches the locator.
Single slash /
means node which is a direct child of the current.
//div[@id='add']//span[@id=addone']
will match
<div id="add"&> <div&> <span id="addone"&> </div&> </div&>
And
<div id="add"&> <span id="addone"&> </div&>
//div[@id='add']/span[@id=addone']
will match only the second html tree.
https://stackoverflow.com/questions/1457638/xpath-get-nodes-where-child-node-contains-an-attribute
/// <summary&>
///
/// </summary&>
[Test]
public void Test()
{
XmlDocument document = new XmlDocument();
document.Load(@"C:\Users\clu\Desktop\test.xml");
XPathNavigator navigator = document.CreateNavigator();
var nodeList = navigator.Select(@"//book[title/@lang = 'it']");
Console.WriteLine(nodeList.Count);
}