c#中未填充的XML变量
本文关键字:XML 变量 填充 | 更新日期: 2023-09-27 18:08:15
这是一段代码,我试图将整数列表嵌入到XML中。
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>
有什么建议吗
编译器无法知道您希望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>
您的查询看起来像:
from wp in Idlist
select new XElement("element")
您没有使用来自Idlist
的任何数据馈送到XElement
。
使用了这个构造函数,它用您提供的名称创建了一个空元素。
尝试使用允许您传入XElement
值和名称的正确构造函数。
在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