Brauchen Sie ein wenig Hilfe bei Linq 2 xml
-
19-08-2019 - |
Frage
Ich habe ein ähnliches Szenario wie diese:
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, das ist sehr vereinfacht. .... aber es wird nicht noch Arbeit. Alle Ideen, was ich falsch mache hier?
Edit:
Oh, fast vergessen. Das Problem ist, dass xmlTree.Element("MyObject")
gibt eine leere Linq-Sequenz. Auch wenn ich einen Knoten mit dem Namen „MyObject“ klar habe.
Lösung
Die XElement.Parse gibt ein XElement, die der <MyObject>
Knoten ist. Versuchen Sie: -
var name = xmlTree.Element ( "Eigenschaften") Element ( "Name") Wert;..
Andere Tipps
Neben dem, was das vorherige Plakate vorgeschlagen, können Sie auch eine XDocument aus Ihrem GenerateSomeXml zurückkehren () Funktion, so dass Ihre Linq arbeiten.
private static XDocument GenerateSomeXml()
{
return XDocument.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow