c#中字符串数组到XML的转换

本文关键字:XML 转换 数组 字符串 | 更新日期: 2023-09-27 18:04:38

我有两个数组:

string[] Countries={"US","India","China","England","Australia"};
string[] States={"Texas","Karnataka","Xinjiang","Birmingham","Canbera"};

如何使LINQ to XML以这种方式呈现:

<Category>
  <US>Texas</US>
  <India>Karnataka</India>
  <China>Xinjiang</China>
  <England>Birmingham</England>
  <Australia>Canbera</Australia>
</Cateogry>

谢谢!

c#中字符串数组到XML的转换

这是使用LINQ Zip()方法将两个数组组合成XElement s的一种可能方法:

string[] Countries = { "US", "India", "China", "England", "Australia" };
string[] States = { "Texas", "Karnataka", "Xinjiang", "Birmingham", "Canbera" };
var doc = new XElement("Category",
                       Countries.Zip(States, (c, s) => new XElement(c, s))
          );
Console.WriteLine(doc.ToString());

Dotnetfiddle Demo

输出:

<Category>
  <US>Texas</US>
  <India>Karnataka</India>
  <China>Xinjiang</China>
  <England>Birmingham</England>
  <Australia>Canbera</Australia>
</Category>