2016-02-18 123 views
0

我正在尝试创建一个动态xelement。创建XElement对象

我想的XElement输出为:

<text> text1 </text> 
<text> text2 </text> 

所以,我写代码:

 string[] arr = new string[2]; 
     arr[0] = "text1"; 
     arr[1] = "text2"; 

     XElement xElement1; 
     XElement xElement12 = new XElement(string.Empty); 
     for (int i=0;i<arr.Length;i++) 
     { 
      xElement1 = new XElement("text"); 
      xElement1.Add(arr[i].ToString()); 
      xElement12.Add(xElement1); 
     } 

但是,与此代码,我得到的输出:

<text> 
    <text> text1 </text> 
    <text> text2 </text> 
</text> 

任何人都可以请让我知道。我想要Xelement中的这些数据,并且阵列中可以有n个数据。

+2

单个“XElement”映射到单个XML元素。看起来你想要一个'List '。另请注意,有效的XML文档[只有一个根元素](https://en.wikipedia.org/wiki/Root_element)。 – dbc

回答

0

这样做更清洁,更易于阅读。可以动态替换字符串

  XElement root = new XElement("root", new XElement[] { 
       new XElement("text", "text1"), 
       new XElement("text", "text2") 
      }); 
+0

我不知道我会得到多少数组元素。我正在充满活力。所以我不知道我是否有text1,text2或text3或全部。 –

+0

您的解决方案是调用XElement构造函数,然后添加标记名和值。它可以像我的代码一样完成。 – jdweng