C#学习教程:序列化一个没有根元素的数组[Serializable][XmlRoot("Test")]publicclassTest{[XmlElement("Category")]publicListCategory=newList();}[Serializable][XmlRoot("Category")]publicclassCategory{[XmlElement("FileName")]publicstringFileName{get;放;}[XmlElement("Property")]publicListProperties=newList();}[可序列化]publicclassProperty{publicstringProp1{get;放;}publicstringProp2{得到;放;但我仍然得到这个输出:C:\test.txt1245如何删除Property标签?提前致谢如果您真的需要准确的输出,如上所述,您可以使用这样的解决方法:[Serializable]publicpartialclassTest{publicListCategory;}[Serializable]publicpartialclassCategory{[XmlElement("FileName")]publicstringFileName;[XmlElement("Prop1")][XmlElement("Prop2")][XmlChoiceIdentifier("propName")]publicstring[]属性;[XmlIgnore]publicPropName[]propName;}publicenumPropName{Prop1,Prop2,}不,如果不使事情复杂化,这是不可能的。一种选择是实施IXmlSerializable,这很难100%正确。您还可以通过创建两个子类型来使用[XmlArrayItem]的基于类型的版本,并将模型分解成多个部分。坦率地说,我也不认为这是值得的。我个人的偏好是选择不同的布局,或者使用LINQ-to-XML。这对XmlSerializer来说可不是什么好事。以上就是《C#学习教程:序列化无根元素数组》分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
