Besoin d'aide avec Linq 2 xml
-
19-08-2019 - |
Question
J'ai un scénario similaire à celui-ci:
public class TestLinq2Xml
{
private XElement GenerateSomeXml()
{
return XElement.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
public void ExploreXmlNode()
{
var xmlTree = this.GenerateSomeXml();
var name = xmlTree.Element("MyObject").Element("Properties").Element("Name").Value;
Console.WriteLine(name);
}
}
Ok, c'est très simplifié. .... mais cela ne fonctionnera toujours pas. Des idées sur ce que je fais mal ici?
Modifier:
Oh, j'ai presque oublié. Le problème est que xmlTree.Element("MyObject")
retourne une séquence linq vide. Même si j’ai clairement un nœud nommé & "; MonObjet &";
La solution
Le XElement.Parse renvoie un XElement qui est le nœud <MyObject>
. Essayez: -
var name = xmlTree.Element (& "Propriétés &";). Element (& "Nom &";). Valeur;
Autres conseils
Outre les suggestions de la précédente affiche, vous pouvez également renvoyer un XDocument à partir de votre fonction GenerateSomeXml () afin que votre linq fonctionne.
private static XDocument GenerateSomeXml()
{
return XDocument.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow