更改XML序列化程序中数组元素的元素名称

5
我有一个类,是通过XSD.exe工具从XML文件生成的。这个类包含一个元素数组。
以前,可以从完全实例化的业务对象渲染整个文档,但由于大小问题,现在我们需要将文档的数组元素渲染到流中,以便不会耗尽内存。
然而,当您渲染数组元素时,XML序列化中会得到不同的元素名称。我尝试创建一个XMLAttributesOverride,但这返回了一个错误,指出我不能覆盖此属性上的XmlElement属性。我正在尝试保持强类型并与我的XSD相关联,因此如果有人知道如何将XML元素的名称更改为它们的数组名称+1,则会得到答案。

你应该能够使用覆盖。请展示你使用的代码,以便我们查看产生了什么错误。 - Cheeso
2个回答

18

问题是XML模式不受我控制。因此,如果可能的话,我尽量避免编辑类中的代码。 - Spence

8
试试这个 :)
[XmlType(TypeName="MyItems")]
public class MyItems:List<Item>
{   }

结果的xml如下:
<MyItems xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Item>...</Item>
</MyItems>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接