DataContractSerializer
全部标签 我对DataContractSerializer的行为感到困惑。我们的配置是基于XML的。XML用作DataContractSerializer.ReadObject方法的源。最近遇到反序列化对象的某些属性没有设置的问题。我跟踪了更改并发现这些属性是手动添加到XML中的。我认为这是可以的。显然这在DataContractSerializer的意见中是不正确的,因为它似乎期望XML节点按字母顺序排序。真的?!反序列化看起来真的很简单——顺序读取XML,解析节点名称,设置相应的属性。订购的目的是什么?有解决办法吗?也许是DataContractSerializer的某种设置?
我正在为WCF服务开发一种“存储和转发”应用程序。我想将消息作为原始XMLblob保存在数据库中,作为XElement。我在将数据契约(Contract)转换为数据库调用所需的XElement类型时遇到了一些麻烦。有什么想法吗? 最佳答案 这会将其作为字符串返回,您可以将其放入数据库的xml列中。这是一个很好的通用方法,您可以使用它来序列化数据契约(Contract)。publicstaticstringSerialize(Tobj){StringBuildersb=newStringBuilder();DataContractSe
我有一个非常大的类库,其中包含>100个POCO对象。我需要将这些对象序列化为XML以传输到REST服务。我一直在尝试使用DataContractSerializer,但它会为任何null属性输出带有i:nil="true"的XML元素。这会启动我正在向其传输XML的REST服务。是的,我意识到不应该。服务供应商通知我,解决这个问题需要几个月的时间。我没有几个月的时间等待这项服务开始工作。我一直在深入研究文档,试图找到一种方法来抑制这些nil对象的传输。我知道我可以设置EmitDefaultValueproperty在每个POCO对象的每个单独属性上为false。除非别无选择,否则我不
我正在尝试使用XSLT将一些XML转换为HTML。问题:我无法让它工作。谁能告诉我我做错了什么?XML:910001-01-01T00:00:00E*TRADEPersonalTradingTestingXSLT:Test 最佳答案 您需要在xslt中为要转换的元素提供命名空间前缀。由于某些原因(至少在JavaJAXP解析器中),您不能简单地声明一个默认namespace。这对我有用:Test这将捕获您的XML文档中命名空间的所有内容。 关于xml-XSLT使用命名空间转换XML,我们在
我正在重构我的XML序列化,并认为我会尝试使用DataContractSerializer。一切顺利,直到需要序列化这个类:usingSystem;usingSystem.Runtime.Serialization;namespaceVDB_Sync.Model{[DataContract(Name="Konstant")]publicclassKonstant:DataFelt{[DataMember]privateMySqlDbTypemydataType;[DataMember]privateobjectvalue;publicKonstant(stringnavn,MySqlD
当我调用Web服务操作时,WCF使用DataContractSerializer将消息反序列化到代理类:为什么我不能这样做?这是文件ActLoginResponse.xml中的soap消息:0Loginetpasswordcorrect.IMT_706IMAPROTECT0TS30相应的ActLoginResponse类的WCF代理代码是:[System.Diagnostics.DebuggerStepThroughAttribute()][System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel","4.0
我对在DataContractSerializer中使用Listofprimitives时设置自定义元素名称的最佳方式很感兴趣。假设我有以下类,其中包含一个字符串列表作为数据成员。[DataContract]publicclassClassName{[DataMember]publicListFieldName{get;set;}}默认情况下,这会序列化为以下内容:Value1Value2Value3我想让XML尽可能简单地通过XSLT进行转换,因此理想情况下,我会将标签重命名为更有用的名称,例如值。一个可能的解决方案涉及创建一个扩展Collection的类并为CollectionDa
我在C#中有一个包含guid的结构。我正在使用DataContractJsonSerializer序列化包含该类实例的对象。当我直接使用guid时,它被序列化为一个普通字符串,但现在它被序列化为一个名称/值对。下面是演示该问题的NUnit测试和支持代码:privatestaticstringToJson(Tdata){DataContractJsonSerializerserializer=newDataContractJsonSerializer(typeof(T));using(MemoryStreamms=newMemoryStream()){serializer.WriteOb
我对DataContractSerializer有疑问。我用它从ASP.NETWeb服务返回的XML创建类实例。但实际上数据来源在这里并不重要。为了使整个案例更易于调试,我创建了一个仅包含序列化的简单测试项目,但问题仍然存在。这是我的XML:http://bing.com1143我试图将XML反序列化为的类:[DataContract(Name="GetTestURL",Namespace="http://schemas.microsoft.com/ado/2007/08/dataservices")]publicclassTestInfo{[DataMember(Name="Test
我目前正在为我的数据集使用包装器类,以实现自定义序列化。我想使用DataContractSerializer(更像是必须使用它)但仍然支持自定义序列化。问题是[DataContract]和[Serializable]属性似乎相处得不太好......我怎么能覆盖序列化,并支持BOTHDataContract和ISerializable序列化?包装器DataSet类的代码被带到这里:[Serializable()][System.Runtime.InteropServices.ComVisible(false)]publicclassTestDatasetWrapper:TestDataS