【发布时间】:2017-07-09 05:11:06
【问题描述】:
如您所见,我想使用XElement 创建xml:
XDocument RejectedXmlList = new XDocument
(
new XDeclaration("1.0", "utf-8", null)
);
int RejectCounter = 0;
foreach (Parameter Myparameter in Parameters)
{
if (true)
{
XElement xelement = new XElement(Myparameter.ParameterName, CurrentData.ToString());
RejectedXmlList.Add(xelement);
}
}
您可以看到条件是否正常,应将参数添加到RejectedXmlList,但我得到了这个异常:
This operation would create an incorrectly structured document.
注意,第一个参数添加成功。只有在添加第二个时,我才会得到异常。
预期的结果应该是这样的:
<co>2</co>
<o2>2</o2>
....
【问题讨论】:
-
看起来像 Creating an XDocument properly 的副本 - 您正在尝试创建一个包含多个 root elements 的 XML 文档,这是 XML 标准所不允许的。
-
@dbc 这不是我的答案。我想使用 foreach 创建 xml
-
同样的问题。您必须将单个根元素添加到您的
XDocument。然后,您可以为每个Parameter添加多个子元素到该根元素。 -
我添加了这一行 RejectedXmlList.Root.Add("Rejectedparameters");在我的代码的第一行,但它返回空引用错误。
-
当然——您需要创建
RejectedXmlList.Root元素。您只创建了XDocument,而不是它的根。