Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Linq memudahkan parsing data XML dan output hierarki dalam C#?
memanfaatkan LINQ untuk pengendalian data XML yang diselaraskan di C#
C# pemaju sering menghadapi cabaran pemprosesan data XML. LINQ menawarkan penyelesaian yang elegan untuk parsing XML yang cekap dan output berstruktur. Mari kita gambarkan ini dengan contoh fail XML:
<code class="language-xml"><root><level1 name="A"><level2 name="A1"></level2><level2 name="A2"></level2></level1><level1 name="B"><level2 name="B1"></level2><level2 name="B2"></level2></level1><level1 name="C"></level1></root></code>Objektif kami adalah untuk menghasilkan perwakilan hierarki data ini:
<code>A A1 A2 B B1 B2 C</code>
Penyelesaian berasaskan LINQ
kod C# berikut menggunakan LINQ untuk mencapai output hierarki ini:
<code class="language-csharp">using System.Xml.Linq; using System.Text; public class XmlParser { public static void Main(string[] args) { StringBuilder output = new StringBuilder(); // Load the XML document XDocument xmlDoc = XDocument.Load("data.xml"); // LINQ query to extract hierarchical data var level1Nodes = from level1 in xmlDoc.Descendants("level1") select new { Name = level1.Attribute("name")?.Value, Level2Nodes = level1.Descendants("level2").Select(level2 => level2.Attribute("name")?.Value) }; // Format and output the data foreach (var level1 in level1Nodes) { output.AppendLine(level1.Name); foreach (var level2 in level1.Level2Nodes) { output.AppendLine(" " + level2); } } Console.WriteLine(output.ToString()); } }</code>
pecahan kod
XDocument.Load
level1
mengendalikan nilai atribut null yang berpotensi dengan anggun. level2
?.Value
Hasilnya kemudiannya diulang, dan struktur hierarki dibina menggunakan manipulasi rentetan, memastikan lekukan yang betul. Atas ialah kandungan terperinci Bagaimanakah Linq memudahkan parsing data XML dan output hierarki dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!