c#xml序列化额外根节点
问题描述:
我有一个集合,我想序列化到一个XML文档。类是:c#xml序列化额外根节点
public class Contacts{
public List<PendingContactDTO> contacts { get; set; }
}
我的主要问题是,现在我的XML看起来
<Contacts>
<contacts>
<..... all contacts>
</contacts>
</Contacts>
的事情是,我想看看它是这样的:
<contacts>
<..... all contacts>
</contacts>
是否有办法对此?
答
[XmlRoot("contacts")]
public class Contacts{
[XmlElement("contact")]
public List<PendingContactDTO> contacts { get; set; }
}
应该给你:
<contacts>
<contact...>...</contact>
...
<contact...>...</contact>
</contacts>
(该XmlRootAttribute
重命名Contacts
到contacts
;在XmlElementAttribute
告诉它的聚集节点删除多余的一层,命名每个contact
)
答
负荷你的xml到XmlDocument
xmlDoc.LoadXml(StrXML);
xmlDoc.SelectSingleNode("/Contacts/contacts")
我希望这会帮助你
+0
OP正在尝试*创建*给定形状的xml文档...而不是*解析*一个 –
它确实模拟了你在Contacts类中的Contacts属性。当班级获得额外的成员时该怎么办? –
@亨克那场景是明确的;简单地说,你可能会得到' ' –