Reputation: 61
I want insert each element from an array add them to a XML tree.
List<String> list = {"abc","cba","bca"};
NameList.Add(new XElement("movie", new XElement("title", this.textBox1.Text), new XElement("genre",list)));
This statement just create stuff like this:
<movie>
<title>smoething</title>
<genre>abccbabca</genre>
</movie>
I want create like this:
<movie>
<title>smoething</title>
<genre>abc</genre>
<genre>cba</genre>
<genre>bca</genre>
</movie>
Upvotes: 2
Views: 2543
Reputation: 760
There is a very simple solution using 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))));
Upvotes: 4
Reputation: 2781
using for loop could be a way
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);
Upvotes: 2