2016-09-21 63 views
0

这里是一段代码,我试图将一个整数列表嵌入到XML中。XML变量不填充在C#

function(long[] Idlist) 
{ 
XDocument inputXML = new XDocument(
      new XElement("Ids", 
         from wp in Idlist 
         select new XElement("element"))); 
} 

我有我的IdList [20,30,40,50]中的四个值,但仍然输入xml不填充任何值。

和inputXML填充像这样:

<Ids> 
    <element/> 
    <element/> 
    <element/> 
    <element/> 
</Ids> 

有什么建议?

+0

我建议你来填充,而不是像'新的XElement(“元素”)'空元素与具有值的元素的XAML。 –

+0

感谢您的回复。这些值将从Idlist中获取,我相信。它不应该填充XML吗?你能举个例子吗? – user3842125

+0

你为什么认为它知道你想要什么? –

回答

0

你的查询看起来像:

from wp in Idlist 
select new XElement("element") 

您使用的不是从你的Idlist任何数据送入XElement

您已经使用了this constructor,它使用您提供的名称创建了一个空元素。

尝试使用the correct constructor,它允许您传入XElement的值以及名称。

1

编译器无法知道您希望wp以某种方式包含在XML中。如果你想要发生什么,你必须要好好问。

XDocument inputXML = new XDocument(
    new XElement("Ids", 
     from wp in Idlist 
     // XElement has another constructor which takes a second 
     // parameter, and uses that as the content of the element. 
     select new XElement("element", wp) 
     )); 

XML

<Ids> 
    <element>20</element> 
    <element>30</element> 
    <element>40</element> 
    <element>50</element> 
</Ids> 
+0

谢谢。会试试这个。 – user3842125

-1

在VB.NET中这会工作

Dim xe As XElement = <Ids></Ids> 
    Dim IdList As New List(Of Integer) From {20, 30, 40, 50} 
    For Each id As Integer In IdList 
     Dim els As XElement = <element><%= id %></element> 
     xe.Add(New XElement(els)) 
    Next