我需要序列化到一个有多个非嵌套值的数组,即
<MyArray>
<Code>code1</Code>
<Name>name associated with code 1</Name>
<Code>code2</Code>
<Name>name associated with code 2</Name>
<Code>code3</Code>
<Name>name associated with code 3</Name>
<Code>code4</Code>
<Name>name associated with code 4</Name>
</MyArray>
我在我的阵列上尝试了各种属性 - 例如
[XmlArray(ElementName="MyArray")]
[XmlArrayItem(ElementName="")]
public List<MyPair> MyPairs { get; set; }
注意:MyPair对象包含2个字符串属性(代码和名称):
但无济于事,我总是得到每对的一个包含元素(通常会更好,但不是模式所要求的 - 而且我无法控制)。非常感谢任何帮助。
编辑这是一个巨大的xml文档的一部分,是否可以使用XElement的1部分手动序列化和其余的XMLSerialization?
答案 0 :(得分:3)
我没有看到除手动序列化项目之外的其他方法。
XElement xElem = new XElement("MyArray",
array.Select(m => new XElement[] {
new XElement("Code", m.Code),
new XElement("Name", m.Name) })
);
var xml = xElem.ToString();
答案 1 :(得分:0)
关闭这个。我解决了这个问题,我认为可以称之为一个黑客,因为我想避免手动序列化整个对象图。所以: