首頁 >後端開發 >C++ >LINQ如何簡化C#中的XML數據的讀取和格式化?

LINQ如何簡化C#中的XML數據的讀取和格式化?

DDD
DDD原創
2025-01-30 05:16:08890瀏覽

How Can LINQ Simplify Reading and Formatting XML Data in C#?

用C#linq 簡化XML數據處理 利用LINQ顯著簡化了C#中的XML數據操縱。 此示例展示瞭如何有效地讀取和格式化XML數據以進行輸出。 >>

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。格式化輸出:

最後,提取的數據格式化並輸出:

此循環通過結果迭代,並將“ Level1”標頭附加和縮進的“ Level2”名稱到

>。

<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數據。

以上是LINQ如何簡化C#中的XML數據的讀取和格式化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn