Je peux sélectionner le premier client de nœud et de modifier le nom de son entreprise avec le code ci-dessous.
Mais comment puis-je sélectionner le client nœud where ID=2?
XDocument xmldoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("These are all the customers transfered from the database."),
new XElement("Customers",
new XElement("Customer",
new XAttribute("ID", 1),
new XElement("FullName", "Jim Tester"),
new XElement("Title", "Developer"),
new XElement("Company", "Apple Inc.")
),
new XElement("Customer",
new XAttribute("ID", 2),
new XElement("FullName", "John Testly"),
new XElement("Title", "Tester"),
new XElement("Company", "Google")
)
)
);
XElement elementToChange = xmldoc.Element("Customers").Element("Customer").Element("Company");
elementToChange.ReplaceWith(new XElement("Company", "new company value..."));
RÉPONSE:
Merci les gars, pour mémoire, voici la syntaxe exacte à la recherche de la société de l'élément dans le client-avec-id-2 élément, et ensuite modifier la valeur de l'élément:
XElement elementToChange = xmldoc.Element("Customers")
.Elements("Customer")
.Single(x => (int)x.Attribute("ID") == 2)
.Element("Company");
elementToChange.ReplaceWith(
new XElement("Company", "new company value...")
);
RÉPONSE AVEC LA MÉTHODE DE LA SYNTAXE:
Juste pensé à elle au moyen de la syntaxe ainsi:
XElement elementToChange = (from c in xmldoc.Element("Customers")
.Elements("Customer")
where (int)c.Attribute("ID") == 3
select c).Single().Element("Company");