草庐IT

datacontractserializer

全部标签

c# - 数据协定序列化不适用于所有元素

我有一个XML文件,我试图将其序列化为一个对象。某些元素被忽略。我的XML文件:7FF07F74-CD5F-4369-8FC7-9BF50274A8E8http://www.gmail.comtrue3/1/20109:39:28PM3/8/20109:39:28PM3/8/20999:39:28PM我的类(class)定义:[DataContract]publicclassLicense{[DataMember]publicvirtualintId{get;set;}[DataMember]publicvirtualstringGuid{get;set;}[DataMember]pu

c# - DataContractSerializer 是否仅适用于 http ://schemas. datacontract.org/2004/07/

我遇到了一个问题,我的对象没有从Post请求的正文中反序列化,我遵循了thisanswer其中指出,因为在WebApi中默认使用DataContractSerializer,您需要以这种方式定义您的xmlns确实有效,但如果我更改年份或月份,如http://schemas.datacontract.org/2005/07/...,它会停止工作,我的对象再次变为空。为什么会这样,http://schemas.datacontract.org/2004/07/是否以某种方式进行了硬编码?为什么是这个URL? 最佳答案 每个数据协定对象都

c# - 不使用属性将对象序列化为 XML

是否可以在不指定任何序列化属性的情况下控制XmlSerializer/DataContractSerializer行为?更具体地说,我想控制序列化(XmlIgnore、自定义属性名称等),但不装饰我的属性。用例:一个大型的现有类,我不希望它被序列化属性污染序列化没有可用源代码的类在不更改类代码的情况下从使用XmlSerializer切换到DataContractSerializer到JSON例如,我将如何在不取消注释属性的情况下序列化以下内容://[Serializable]publicMyClass{//[XmlIgnore]-Thefollowingpropertyshouldno

c# - 使用不带属性的 DataContractSerializer 或 XmlSerializer 删除所有命名空间

问题:我已经创建了一个WebApi并且需要支持XML。默认的DataContractSerializer生成如下命名空间:xmlns:d2p1="http://schemas.datacontract.org/2004/07/Vendor.App.Model.DeeperModel"xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"我不想在我的XML中包含这些命名空间。与他们一起工作非常困难。在我的例子中,我需要支持来自FileMaker的XLST,它在其他XLS解析器没有的命名空间方面存在问题。

c# - 在 C# 中使用 Datacontract 反序列化谷歌地理编码 XML

我有以下Google地理编码XMLOKstreet_address1600AmphitheatrePkwy,MountainView,CA94043,USA16001600street_numberAmphitheatrePkwyAmphitheatrePkwyroute....37.4217550-122.0846330ROOFTOP37.4188514-122.087452637.4251466-122.0811574和下面的对象[DataContract(Namespace="")]publicclassGeocodeResponse{[DataMember(Name="stat

c# - 需要 XML DataContract 反序列化帮助

我有以下XML:YYYYZZZZ我的类应该是什么样子,以便我可以将字符串反序列化为一个对象(我正在使用DataContractSerializer)[DataContract(Namespace="")][Serializable]publicclassResponses:DataContainer{[DataMember]publicResponseCollectionResponseList{get;set;}}[Serializable]publicclassResponse:DataContainer{[DataMember]publicstringFoo{get;set;}[

c# - 使用 XSLT 转换序列化的 .net 对象

我有一个很大的.net类和一些xslt文件。我正在序列化我的对象以使用我的xslt文件进行转换。我的类(class)名称是Application,它有一个包含应用程序集合的Applicant属性。publicclassApplication{publicPersonApplicant{get;set;}}publicclassPerson{publicListApplications{get;set;}}当我序列化我的类的实例时,通常我获得的Xml包含z:Ref="i18"属性以防止无限创建Xml来描述现有的引用属性。但是这种情况改变了我必须在Xslt文件中编写的所需Xpath表达式。

c# - 使用 DataContractSerializer 时在集合中保留元素名称

我想知道在序列化我的某个基本类型的自定义集合时是否可以定义元素名称。考虑以下示例(我在这里使用水果示例:)):[DataContract(Name="Bowl")]publicclassBowl{[DataMember]publicListFruits{get;set;}}[DataContract(Name="Fruit")]publicabstractclassFruit{}[DataContract(Name="Apple",Namespace="")]publicclassApple:Fruit{}[DataContract(Name="Banana",Namespace=""

c# - XPath 在使用 DataContractSerializer 创建的 xml 中不起作用

我有一个数据契约(Contract)对象,我能够使用DataContractSerializer将它成功序列化为xml,但是当我尝试使用XPath访问一次节点时,它返回一个空值。我无法找出为什么会这样。到目前为止,这是我必须要做的。namespaceDataContractLibrary{[DataContract]publicclassPerson{[DataMember]publicstringFirstName{get;set;}[DataMember]publicstringLastName{get;set;}[DataMember]publicintAge{get;set;}

xml - 如何确保从 DataContractSerializer 输出的文件是 "regularly"格式的 XML?

每次我从DataContractSerializer输出XML时,它都是单行XML字符串。这是有效的XML,但读起来很痛苦。如何在其中添加额外的空格以将元素分成制表符行?publicvoidSave(Streamstream){DataContractSerializerserializer=newDataContractSerializer(typeof(ObservableCollection));serializer.WriteObject(stream,this.Devices);} 最佳答案 使用WriteObject重载