使用for循环使用XDocument和可变数量的xelement创建XML
本文关键字:xelement XML 创建 循环 for XDocument 使用 | 更新日期: 2023-09-27 18:12:42
我需要根据e的值(每次都不同)向XML文档添加可变数量的xelement。我想我需要做一些类似于我下面的东西,但下面的代码给了我6个错误。这些都是:
- 只有赋值、call、increment、递减和new对象表达式可以用作语句x 2
- 无效表达式术语'for'/')'/')'
-
;将
int e = 3; doc.Root.Add(new XElement(ns + "LineItemList", for(int i = 0; i <= e; i++) { new XElement("ItemNumber", i.ToString()); } ));
我做错了什么?
把我的问题另一种方式,我的理解是,有我的LineItem元素在我的LineItemListelement,我需要把我的LineItem的声明内LineItemList。
如果有人能告诉我如何显式地打开和关闭元素,而不是隐式地打开和关闭元素,这将大有帮助。
试试这个:
int e = 3;
XDocument doc = new XDocument(
new XElement(ns + "LineItemList",
Enumerable.Range(0, e).Select(i => new XElement("ItemNumber", i))
));
我想你要找的是:
int e = 3;
XElement lineElement = new XElement(ns + "LineItemList");
doc.Root.Add(lineElement);
for(int i = 0; i <= e; i++)
{
XElement itemElement = new XElement("ItemNumber", i.ToString());
lineElement.Add(itemElement)
}
不能在方法调用中使用for循环。
也许你想这样做:
for(int i = 0; i <= e; i++) {
XElement element = new XElement("ItemNumber", i.ToString());
doc.Root.Add(element);
}
我没有测试这段代码