menyelaraskan pemprosesan data XML dengan C# linq
memanfaatkan LINQ dengan ketara memudahkan manipulasi data XML dalam C#. Contoh ini mempamerkan cara membaca dan memformat data XML dengan cekap untuk output.
1. XML Dokumen Memuatkan:
Proses bermula dengan memuatkan dokumen XML:
<code class="language-csharp">XDocument xdoc = XDocument.Load("data.xml");</code>
2. Mengekstrak Tahap 1 dan Tahap 2 Elemen:
Seterusnya, pertanyaan LINQ mengekstrak elemen "level1" dan anak -anak mereka yang berkaitan "level2":
<code class="language-csharp">var lv1Elements = from lv1 in xdoc.Descendants("level1") select new { Header = lv1.Attribute("name")?.Value, Children = lv1.Descendants("level2").Select(lv2 => lv2.Attribute("name")?.Value) };</code>
mengendalikan atribut null yang berpotensi dengan anggun. ?.Value
3. Memformat output:
Akhirnya, data yang diekstrak diformat dan output:
<code class="language-csharp">StringBuilder output = new StringBuilder(); foreach (var lv1 in lv1Elements) { output.AppendLine(lv1.Header); foreach (var lv2 in lv1.Children) { output.AppendLine(" " + lv2); } } Console.WriteLine(output.ToString());</code>
. StringBuilder
Contoh Lengkap:
inilah kod lengkap dan halus:
<code class="language-csharp">using System.Xml.Linq; using System.Text; public class XmlProcessor { public static void Main(string[] args) { StringBuilder output = new StringBuilder(); XDocument xdoc = XDocument.Load("data.xml"); var lv1Elements = from lv1 in xdoc.Descendants("level1") select new { Header = lv1.Attribute("name")?.Value, Children = lv1.Descendants("level2").Select(lv2 => lv2.Attribute("name")?.Value) }; foreach (var lv1 in lv1Elements) { output.AppendLine(lv1.Header ?? "N/A"); // Handle potential null header foreach (var lv2 in lv1.Children ?? Enumerable.Empty<string>()) // Handle potential null children { output.AppendLine(" " + lv2); } } Console.WriteLine(output.ToString()); } }</code>
untuk penyambungan rentetan yang cekap. Pendekatan LINQ menawarkan penyelesaian yang bersih dan boleh dibaca untuk menavigasi dan memproses data XML dalam C#. StringBuilder
Atas ialah kandungan terperinci Bagaimanakah Linq dapat memudahkan membaca dan memformat data XML dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!