为什么我不能将字符串写入XML文件?

时间:2016-11-18 06:25:22

标签: c# xml

我的项目中有一个字符串数组,我想将其附加到xml。

xml结构是:

 <data>
    <list>
      <item/>  <== array
    </list>
  </data>

我的数组是:

string[] strArr = ["a", "b"];

我的代码

                XDocument xml = XDocument.Load(@"myxml.xml");
                foreach (var str in strArr )
                {
                    var list = xml.Root.Element("list");
                    list.Add(new XElement("item", str ));
                }

更新问题:

我也想知道为什么我不能在字符串数组中获取xml ..

           var strs= from elements in xml.Elements("data").Elements("list") select elements;

            foreach (var str in strs)
            {
                string item= id.Element("item").Value;
                strList.Add(item );

            }

1 个答案:

答案 0 :(得分:1)

初始XML文件内容:

<data>
   <list>

   </list>
</data>

修改代码如下

string[] strArr = {"a", "b"};
XDocument xml = XDocument.Load(@"myxml.xml");
foreach (var str in strArr )
{
   var list = xml.Root.Element("list");
   list.Add(new XElement("item", str ));
}
xml.Save(@"myxml.xml");

您缺少Save函数调用。

用于在字符串数组中添加元素:

var strs = from elements in xml.Root.Element("list").Elements("item") select elements;
foreach (var str in strs)
{
    string item = str.Element("item").Value;
    strList.Add(item);
}