J’ai trouvé des réponses à la recherche de nœuds XML avec LINQ, mais je suis limité à C # avec .NET 2.
Je souhaite ouvrir un seul fichier XML (~ 50 Ko, tout le texte simple) et rechercher tous les nœuds avec un
name
atsortingbut ayant une valeur spécifique.
Il semble que XmlDocument.SelectNodes()
pourrait être ce que je recherche, mais je ne connais pas XPath. Est-ce la bonne façon et si oui, à quoi ressemblerait le code?
Vous pouvez utiliser XPath dans XmlDocument.SelectNodes tels que: SelectNodes("//ElementName[@AtsortingbuteName='AtsortingbuteValue']")
Échantillon Xml:
Échantillon C #:
XmlDocument xDoc = new XmlDocument(); // Load Xml XmlNodeList nodes = xDoc.SelectNodes("//element[@name='value1']"); // nodes.Count == 2
Ici vous pouvez trouver quelques exemples supplémentaires XPath
pense que tu pourrais faire quelque chose comme ça (bien, rustique, mais tu as l’idée), en utilisant GetElementsByTagName
var myDocument = new XmlDocument(); myDocument.Load(); var nodes = myDocument.GetElementsByTagName("Tool"); var resultNodes = new List(); foreach (XmlNode node in nodes) { if (node.Atsortingbutes != null && node.Atsortingbutes["name"] != null && node.Atsortingbutes["name"].Value == "asdf") resultNodes.Add(node); }