Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Linq dapat memudahkan menavigasi dan mengekstrak data hierarki dari struktur XML bersarang?
Gunakan LINQ untuk memproses data berlapis dengan cekap dalam struktur XML bersarang
Contoh kod ini menunjukkan bagaimana LINQ digunakan untuk mengekstrak data berlapis dari fail XML secara berstruktur. Dokumen XML kami mengandungi unsur -unsur bersarang multi -layer, dan tugasnya adalah untuk mencetak data dalam format tertentu, di mana pemindahan menunjukkan hubungan hierarki.
Fail XML mewakili struktur seperti pokok, termasuk tiga lapisan: Level1, Level2 dan Level3. Untuk menyelesaikan masalah ini, kami mula -mula menggunakan fail XML yang dimuatkan
. Kemudian, gunakan fungsi pertanyaan LINQ untuk melintasi nod XML.
XDocument.Load()
Pertanyaan Linq pertama yang diambil Elemen Level1 dan ekstrak atribut "Nama" mereka sebagai tajuk. Seterusnya, kami melintasi tajuk ini dan mencetaknya. Untuk setiap tajuk, kami melakukan pertanyaan bersarang untuk mendapatkan elemen Level2 yang sepadan, kemudian mencetak unsur -unsur ini, dan gunakan lekukan yang sesuai.
Kod ini menunjukkan ciri -ciri kuat LINQ dalam struktur XML bersarang yang mendalam dan data ekstrak yang cekap. Pertanyaan NESAL membolehkan kita mengekalkan hubungan hierarki antara unsur -unsur dan data semasa dalam format yang jelas dan teratur.
<code class="language-csharp">using System.Xml.Linq; using System.Text; StringBuilder result = new StringBuilder(); XDocument xdoc = XDocument.Load("data.xml"); var lv1s = from lv1 in xdoc.Descendants("level1") select new { Header = lv1.Attribute("name").Value, Children = lv1.Descendants("level2") }; foreach (var lv1 in lv1s){ result.AppendLine(lv1.Header); foreach(var lv2 in lv1.Children) result.AppendLine(" " + lv2.Attribute("name").Value); } Console.WriteLine(result);</code>
Atas ialah kandungan terperinci Bagaimanakah Linq dapat memudahkan menavigasi dan mengekstrak data hierarki dari struktur XML bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!