• 0

كيف أحصل على اسم عقدة داخل ملف xml؟

لدي ملف xml التالي:

<Location>
    <AChau>
        <ACity>
          <EHouse/>
          <FHouse/>
          <GHouse/>
        </ACity>

        <BCity>
          <HHouse/>
          <IHouse/>
          <JHouse/>
          <KHouse/>
        </BCity>
    </AChau>
</Location>

وأريد جلب قيم العقد بداخل الملف عن طريق تطبيق #C، مثلا أريد قراءة القيم :

["ACity", "BCity"]

كيف ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

باعتبار أن لدينا عنصر XElement يمكننا استخراج العقد الموجودة بداخله -أبناءه- Children باستعمال:

string[] names = xElem.Elements().Select(e => e.Name.LocalName).ToArray();

كمثال، ملف xml المُرفق في سؤالك، سيكون الجواب عليه:

public static MyXExtensions 
{
    public static string[] ChildrenNames(this XElement xElem)
    {
        return xElem.Elements().Select(e => e.Name.LocalName).ToArray();
    }
}
string[] names1 = xDoc.Root.ChildrenNames();
string[] names2 = xDoc.Root.Element("AChau").ChildrenNames();
string[] names3 = xDoc.XPathSelectElement("Location/AChau/ACity").ChildrenNames();

لنحصل على النتائج التالية، وهي عبارة عن مصفوفات بها قيم ملف xml:

["AChau"]
["ACity", "BCity"]
["EHouse", "FHouse", "GHouse"]

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن