تحتاج القليل من المساعدة مع ينق 2 أكس
-
19-08-2019 - |
سؤال
ولدي سيناريو مماثل لهذا واحد:
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);
}
و}
وطيب، وهذا هو مبسط جدا. .... لكنه لا يزال متعود العمل. أي أفكار بشأن ما أفعله خطأ هنا؟
وتحرير:
وأوه، نسيت تقريبا. والمشكلة هي أن xmlTree.Element("MyObject")
بإرجاع تسلسل LINQ فارغة. على الرغم من انني بوضوح وعقدة اسمها "MyObject".
المحلول
ووXElement.Parse بإرجاع XElement التي هي العقدة <MyObject>
. جرب: -
واسم فار = xmlTree.Element ( "خصائص") العنصر ( "الاسم") القيمة؛.
نصائح أخرى
وإلى جانب ما اقترح ملصق السابقة، يمكنك أيضا إرجاع XDocument من GenerateSomeXml الخاص بك () وظيفة بحيث يعمل LINQ الخاص بك.
private static XDocument GenerateSomeXml()
{
return XDocument.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
لا تنتمي إلى StackOverflow