以一个名为“项”和输出的序列化XML作为类:
<Template><!--some properties --></Template>
问题
根节点派生于正在实现IXmlSerializable的类名称之外。
// By the time I get here 'writer' already has a root node
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("Template");
// write out the properties
writer.WriteEndElement();
}
所以我风与XML,看起来像
<Item><Template><!-- some properties --></Template></Item>
问题
有一个属性,我可以覆盖一个属性,或任何让我想要的效果(除从改变类名)?
谢谢!
感谢Frederik的解析!
由于这个问题在@Frederik Gheysels的回答中有所回答,我以为我会把它放在这里,所以它不会被埋没。
只需将XmlRoot属性添加到您的类中,这将更改根节点的输出xml。
实施例:
[XmlRoot("Template")]
public class Item : IXmlSerializable
{
//Item's properties
}
请显示序列化代码并显示Item类的位置。它是其他类的成员吗? – 2010-09-01 17:05:19
我想你想XML Type属性 http://msdn.microsoft.com/en-us/library/2baksw0z(VS.71).aspx – asawyer 2010-09-01 17:08:13
@John Saunders:项目不是另一个类的成员。我正在使用内置的.Net XmlSerializer。 – 2010-09-01 17:37:34