在 C# 中将字符串数组转换为 XML

Converting string array to XML in C#

我有两个数组:

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

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

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

谢谢!

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

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>