J'ai un objet XmlDocument en mémoire, voici un échantillon des données:Mise à jour XmlDocument LINQ (peut-être)
<terms>
<letter name="F">
<term>
<name>fascículo</name>
<translation language="en">fascicle</translation>
<definition>pequeño paquete de fibras nerviosas o musculares</definition>
</term>
(Il y a beaucoup de termes dans le document lui-même)
Je veux être en mesure de trouver un terme par son nœud de nom, puis ajoutez un élément comme un enfant du terme
<terms>
<letter name="F">
<term>
<name>fascículo</name>
<translation language="en">fascicle</translation>
<definition>pequeño paquete de fibras nerviosas o musculares</definition>
<image>hi there</image>
</term>
maintenant, je peux y parvenir en utilisant Xpath, trouver le nœud, puis créer un nouveau noeud avec les nouvelles valeurs , bla bla h.
Mais cela semble un peu long dans le monde de linq.
C'est ce que j'ai jusqu'à présent:
private static XmlDocument AddImages(XmlDocument termDoc)
{
XDocument xDoc = XDocument.Load(new XmlNodeReader(termDoc));
using (CsvReader csv = new CsvReader(new StreamReader("spa2engimages.csv"), false))
{
csv.ReadNextRecord();
csv.ReadNextRecord();
XElement selectedTerm;
string name, imageref;
while (csv.ReadNextRecord())
{
imageref = csv[0].ToString();
name = csv[3].ToString();
selectedTerm = xDoc.Descendants("term").Single(t => t.Descendants("name").Single().Value == name);
//now want to add a new node and save it back in to the termDoc somehow
}
}
return termDoc;
}
Mais je suis un peu perdu de là. Des idées?
Oui, je voulais juste essayer de LINQ et voir s'il était plus facile, peut-être que je devrais rester avec XPath – qui