1。 XML文檔加載:
該過程首先加載XML文檔:
2。提取1級和級別2元素:<code class="language-csharp">XDocument xdoc = XDocument.Load("data.xml");</code>
接下來,linq查詢提取“ Level1”元素及其關聯的“ Level2”兒童:
>此查詢將數據投射到包含“ Level1”標頭的匿名類型和“ 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>
?.Value
3。格式化輸出:
最後,提取的數據格式化並輸出:
>。
<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
這是完整的,精緻的代碼:
以上是LINQ如何簡化C#中的XML數據的讀取和格式化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!