草庐IT

c# - List<Object> 的 XML 序列化

我无法使用XML序列化将动物列表保存到磁盘。我收到异常:抛出:“AnimalLibrary.Animals.Mammals.Dog类型不是预期的。使用XmlInclude或SoapInclude属性指定静态未知的类型。”(System.InvalidOperationException)如果我尝试使用“Dog”注释代码,它将按预期工作并生成XML。但是作为列表中唯一元素发送的同一条狗不起作用。[XmlElement("animalList")]publicListanimalList=newList();publicboolSaveBinary(stringfileName){Mamm

c# - 反序列化错误 : The XML element 'name' from namespace '' is already present in the current scope

这是我第一次使用XML序列化,在尝试解决此问题2天后,这绝对让我疯狂。反序列化开始时出现此错误:TheXMLelement'name'fromnamespace''isalreadypresentinthecurrentscope.UseXMLattributestospecifyanotherXMLnameornamespacefortheelement.错误发生在我代码中的这一行:Albumalbum=(Album)serializer.Deserialize(reader);我不知道为什么。没有重复的“名称”节点,所以我就是不明白。这是从来自第3方RESTAPI的HttpWebR

c# - 反射(reflect)类型时出现错误 - XML 序列化问题

我有一个需要写入XML文件的字典对象。该字典包含作为键的字符串类型和作为值的自定义类的对象(派生自System.Windows.Forms.Control)。namespaceSharpFormEditorDemo{[Serializable]publicstaticclasscommon{publicstaticDictionarydicControls=newDictionary();publicstaticObjectobjSelected=newObject();publicstaticintctrlId=0;//TheserializationandDeserializati

c# - XmlSerializer + 抽象类 + 派生类 = 无用的命名空间

我关于SO的第一个问题:,)是关于XmlSerializer和命名空间问题。我知道已经有很多关于如何从Xml文件的根元素中删除默认Xml命名空间的主题,这不是主题。我的问题是如何在使用派生类时将其从子节点中删除?我已经创建了我自己的序列化程序,它可以采用自定义命名空间或简单地忽略它们,并且它对根元素运行良好。但是当我使用抽象类在List中列出一些派生类时,序列化会在每个派生类的节点中插入2个属性。像这样:至于我的类(class)://Rootelement[XmlRoot("root",Namespace="")]publicclassXmlRootElement{List_Eleme

c# - 如何使用 XmlSerializer 在 C# 中反序列化期间将 xml 属性转换为自定义对象

我明白了InvalidCastException:Valueisnotaconvertibleobject:System.StringtoIdTag尝试反序列化xml属性时。这是示例xml:示例类:publicclassItem{[XmlAttribute]publicstringName{get;set;}[XmlAttribute]publicIdTagParentId{get;set;}}[Serializable]publicclassIdTag{publicstringid;}异常是从Convert.ToType()方法(从XmlSerializer调用)中抛出的。据我所知,

C# Xml-使用 IXmlSerializable 序列化派生类

我有一个与XML序列化兼容的基类和一个实现IXmlSerializable的派生类。在此示例中,基类确实实现了IXmlSerializable:usingSystem.Diagnostics;usingSystem.Text;usingSystem.Xml;usingSystem.Xml.Schema;usingSystem.Xml.Serialization;namespaceXmlSerializationDerived{publicclassFoo{publicintfooProp;publicXmlSchemaGetSchema(){returnnull;}publicvoid

c# - XML 序列化 - XmlCDataSection 作为 Serialization.XmlText

我在使用c#序列化cdata部分时遇到问题我需要将XmlCDataSection对象属性序列化为元素的内部文本。我要找的结果是这样的:helloworld]]>为了产生这个,我正在使用这个对象:publicclassTest{[System.Xml.Serialization.XmlText()]publicXmlCDataSectionvalue{get;set;}[System.Xml.Serialization.XmlAttributeAttribute()]publicstringvalue2{get;set;}}在value属性上使用xmltext注释时,会抛出以下错误。Sy

c# - 无法转换类型为 'System.Collections.Generic.List` 1 的对象

我不明白对另一种类型“System.Collections.Generic.List`1[CES.Model.SearchResult]”的引用以及如何解决此问题。Unabletocastobjectoftype'System.Collections.Generic.List`1[CES.Model.SearchResult]'totype'CES.Model.SearchResult'.Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestac

c# - 如何在不包装元素的情况下对多态数组进行 XML 序列化

想要将我的数据序列化为:但我得到的是这个(注意包装的Commands元素)这是用于生成此代码的示例代码:publicclassBaseCommand//baseclass{[XmlAttribute]publicstringResult{get;set;}}publicclassExecuteCommand:BaseCommand{[XmlAttribute]publicstringCommand{get;set;}}publicclassWaitCommand:BaseCommand{[XmlAttribute]publicintSeconds{get;set;}}publiccla

c# - 使用序列化从 XML 文件读取到 C# 类

我有以下XML文件,我正在尝试使用DE序列化将其读入c#中的类:InfoRequestCInfoReqtheIdTheIDtheNameNewName以下是我正在使用的代码,虽然它执行时没有错误,但没有数据被读入PropertiesMapping类,我哪里出错了??PropertiesMappingpm=null;try{System.IO.StreamReaderstr=newSystem.IO.StreamReader(@"PropertyMapping.xml");System.Xml.Serialization.XmlSerializerxSerializer=newSyste