C#如何将数组中的每个元素添加到XML树中的子节点中

本文关键字:添加 XML 子节点 元素 数组 | 更新日期: 2023-09-27 18:25:22

我想插入数组中的每个元素,并将它们添加到XML树中。

List<String> list = {"abc","cba","bca"};  
NameList.Add(new XElement("movie", new XElement("title", this.textBox1.Text), new XElement("genre",list)));

这句话只是创造了这样的东西:

<movie>
<title>smoething</title>
<genre>abccbabca</genre>
</movie>

我想要这样创建:

<movie>
<title>smoething</title>
<genre>abc</genre>
<genre>cba</genre>
<genre>bca</genre>
</movie>

C#如何将数组中的每个元素添加到XML树中的子节点中

使用LINQ有一个非常简单的解决方案:

List<String> list = {"abc","cba","bca"}; 
NameList.Add(new XElement("movie", new XElement("title", this.textBox1.Text), list.Select(l => new XElement("genre", l))));

使用for循环可能是的一种方式

        var strList = new List<string> {"abc", "cba", "bca"};
        var xml = new XmlDocument();
        var root = xml.AppendChild(xml.CreateElement("Movie"));
        root.AppendChild(xml.CreateElement("Title")).InnerText = "somthing";
        foreach (var str in strList)
        {
            root.AppendChild(xml.CreateElement("Genre")).InnerText = str;
        }
        MessageBox.Show(xml.OuterXml);