【发布时间】:2011-09-26 15:56:38
【问题描述】:
我有下一个 xml:
<table-display-fields>
<field name="NAME/>
<field name="DESCRIPTION" />
</table-display-fields>
我用下一个代码取消了它:
[XmlArray("table-display-fields")]
[XmlArrayItem("field")]
public TableDisplayField[] TableDisplayFields;
然后我将新的 xml 元素添加到 table-display-fields 节点:
<table-display-fields>
<record-number-field name="ID" />
<field name="NAME/>
<field name="DESCRIPTION" />
</table-display-fields>
然后添加下一个代码以取消实现记录号字段:
[XmlArray("table-display-fields")]
[XmlArrayItem("record-number-field")]
public TableDisplayField[] RecordTableDisplayFields;
[XmlArray("table-display-fields")]
[XmlArrayItem("field")]
public TableDisplayField[] TableDisplayFields;
这不起作用。如何取消实现新的 xml,并保存现有的属性路径?
【问题讨论】:
-
这不起作用?究竟会发生什么?
-
我有下一个异常:System.Web.HttpUnhandledException (0x80004005):抛出了“System.Web.HttpUnhandledException”类型的异常。 ---> System.InvalidOperationException:反映类型“TableDisplayConfiguration”的错误。 ---> System.InvalidOperationException:反映字段“TableDisplayFields”时出现错误。 ---> System.InvalidOperationException:来自命名空间“localhost/configuration/application”的 XML 元素“table-display-fields”已经存在于当前范围内。使用 XML 属性为元素指定另一个 XML 名称或命名空间。
标签: c# xml deserialization