Necesito un poco de ayuda con Linq 2 xml
-
19-08-2019 - |
Pregunta
Tengo un escenario similar a este:
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, esto está muy simplificado. .... pero todavía no funcionará. ¿Alguna idea de lo que estoy haciendo mal aquí?
Editar:
Oh, casi lo olvido. El problema es que xmlTree.Element("MyObject")
devuelve una secuencia de linq vacía. Aunque claramente tengo un nodo llamado & Quot; MyObject & Quot ;.
Solución
El XElement.Parse devuelve un XElement que es el nodo <MyObject>
. Prueba: -
var name = xmlTree.Element (" Propiedades "). Elemento (" Nombre "). Valor;
Otros consejos
Además de lo que sugirió el póster anterior, también puede devolver un XDocument desde su función GenerateSomeXml () para que su linq funcione.
private static XDocument GenerateSomeXml()
{
return XDocument.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow