2016-11-18 74 views
-3

我在我的项目中有一个字符串数组,我想把它附加到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

初始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); 
} 
+0

你能帮助我更新的问题吗? – MRWonderFuXker

+0

@MRfuxkYou为您编辑;你忘了Root,'xml.Root.Elements // ...'; *(作为来自源选择元素中的元素的附注'可以仅仅是源')* – Sehnsucht

相关问题