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:
XDocument xdoc = XDocument.Load("data.xml");
2. Mengekstrak Tahap 1 dan Tahap 2 Elemen:
Seterusnya, pertanyaan LINQ mengekstrak elemen "level1" dan anak -anak mereka yang berkaitan "level2":
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) };
mengendalikan atribut null yang berpotensi dengan anggun. ?.Value
3. Memformat output:
Akhirnya, data yang diekstrak diformat dan output:
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());
. StringBuilder
Contoh Lengkap:
inilah kod lengkap dan halus:
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()) // Handle potential null children { output.AppendLine(" " + lv2); } } Console.WriteLine(output.ToString()); } }
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!