Comment sélectionner des nœuds par atsortingbut commençant par… en C #

J’ai ce document XML et je veux sélectionner les nœuds par atsortingbut qui commence par ‘/ employés /’

Employee 1 Robert
Employee 2 Jennifer

Donc, en C #, je ferais quelque chose comme ceci:

 parentNode.SelectNodes("//table/tr/th/a[@href='/employees/.....']") 

Est-ce possible avec C #?

Merci!

La fonction simple starts-with fait ce dont vous avez besoin:

 parentNode.SelectNodes("//table/tr/td/a[starts-with(@href, '/employees/')]") 

en utilisant LINQ pur, vous pouvez faire quelque chose comme ça

 var doc = XDocument.Parse("YOUR_XML_STRING"); var anchors = from e in doc. Descendants("a") where e.Atsortingbute("href").Value.StartsWith("/employee/") select e; 

// vous pouvez maintenant sélectionner n’importe quel nœud en combinant .Parent.Parent …..

Alors, quelque chose comme ça?

 var xml = @"
Employee 1 Robert
Employee 2 Jennifer
"; var doc = new XmlDocument(); doc.LoadXml(xml); var employees = doc.SelectNodes("/table/tr/td/a[starts-with(@href, '/employees/')]"); DoWhatever(employees);

Bien sûr, vous pouvez charger votre code XML dans l’instance XDocument et utiliser la méthode XPathSelectElements pour effectuer une recherche à l’aide de votre expression.