Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Linq memudahkan parsing data XML dan output hierarki dalam C#?

Bagaimanakah Linq memudahkan parsing data XML dan output hierarki dalam C#?

Susan Sarandon
Lepaskan: 2025-01-30 05:06:11
asal
641 orang telah melayarinya

How Can LINQ Simplify XML Data Parsing and Hierarchical Output in 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:

1

<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>

Salin selepas log masuk
Objektif kami adalah untuk menghasilkan perwakilan hierarki data ini:

1

2

3

4

5

6

7

<code>A

  A1

  A2

B

  B1

  B2

C</code>

Salin selepas log masuk

Penyelesaian berasaskan LINQ

kod C# berikut menggunakan LINQ untuk mencapai output hierarki ini:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

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());

    }

}

Salin selepas log masuk

pecahan kod

    Kod bermula dengan memuatkan fail XML menggunakan
  • . XDocument.Load
  • pertanyaan LINQ dengan cekap memilih
  • nod dan nod kanak -kanak yang sepadan. 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.
  • Ini menunjukkan bagaimana LINQ memudahkan parsing XML dan menyediakan cara ringkas untuk menghasilkan output hierarki yang dikehendaki dalam C#. Penggunaan
mengoptimumkan penyambungan rentetan untuk prestasi yang lebih baik.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan