jjzjj

XmlSerializer

全部标签

c# - 使用带有 WCF SOAP 的 XmlSerializer 添加根 xmlns

我有一个类文件,该文件是根据客户从第三方提供的XML模式文档生成的。我应该能够将这个生成的类用于客户的SOAPWeb服务,但我遇到了一些问题。我创建了一个ServiceContract接口(interface),以便我可以使用WCFChannelFactory连接到网络服务,如下所示:[ServiceContract(Namespace="http://theircompany.co.uk/theirapp/v1")][XmlSerializerFormat]publicinterfaceIWebService{[OperationContract]EPSStatusserviceNo

c# - .NET XmlSerializer 和多维数组

我正在实现一个程序,该程序充当某些现有软件的客户端。该协议(protocol)是使用XML模式定义的,它包括多维数组。.netXmlSerializer无法处理这些-这是一个已知问题。有没有办法扩展XmlSerializer以便我可以实现对此的处理,或者是否有可以处理多维数组的XmlSerializer的完整(免费或商业)替代品?SharpSerializer似乎没有创建模式定义的XML,但使用它自己的序列化格式。我想我可以使用sgen.exe生成序列化程序代码,然后手动编辑它以添加必要的处理,但我想避免这种情况。 最佳答案 如果您

C# Xml Serializer 将列表反序列化为 0 而不是 null

我很困惑XmlSerializer在幕后工作。我有一个将XML反序列化为对象的类。我看到的是以下两个不属于正在反序列化的Xml的元素。[XmlRootAttribute("MyClass",Namespace="",IsNullable=false)]publicclassMyClass{privatestringcomments;publicstringComments{set{comments=value;}get{returncomments;}}privateSystem.Collections.Generic.Listtests=null;publicSystem.Colle

c# - XmlSerializer 使用逗号(,)十进制符号反序列化十进制

我想知道是否有任何简单的方法可以使用XmlSerialier反序列化带有逗号小数点分隔符的小数点?我正在从其他软件获取xml格式的导出数据,并且xml文件中的所有数字(价格、数量、折扣等等)都以逗号作为小数点分隔符。这是我尝试做的简化示例:假设有一个带有名称和价格的产品类:[Serializable]publicclassProduct{publicstringName{get;set;}publicdecimalPrice{get;set;}}我有xml...stringxmlExample="CocaCola,2L3,50";当我试图反序列化那个xml时...XmlSerializ

c# - 使用不同的根元素名称反序列化

下面的例子给了我“[Onexmlns='']wasnotexpected.”异常publicabstractclassBaseClass{}[XmlRoot("One")]publicclassChildOne:BaseClass{}[XmlRoot("Two")]publicclassChildTwo:BaseClass{}classProgram{privatestaticvoidMain(string[]args){varser=newXmlSerializer(typeof(BaseClass),newType[]{typeof(ChildOne),typeof(ChildTw

java - 使用 java 从 XML 元素中删除空格

我有一个JSON如下Stringstr={'Empname':'JSON','Empid':1,'Salary':20997.00}我想使用java将此JSON转换为XML。我的java代码在这里。JSONjson=JSONSerializer.toJSON(str);XMLSerializerxmlSerializer=newXMLSerializer();//ToSkipthewhitespacefromXMLdataandnotfromXMLElement(Bydefaultitdoes)xmlSerializer.setSkipWhitespace(true);//Tosett

c# - 填充从 XSD.exe 生成的类属性

好的,我从巨大的XSD文件生成了C#类。现在我有一组C#类、XSD模式和实际的XML数据。是否有一种自动或半自动的方式来用我拥有的XML数据填充这些类实例?谢谢。 最佳答案 如果您使用xsd.exe生成类,那么XmlSerializer应该可以完成这项工作...XmlSerializerser=newXmlSerializer(typeof(RootType));RootTypetype=(RootType)ser.Deserialize(source) 关于c#-填充从XSD.exe生

c# - 如何使用 XmlSerializer 序列化对象集合

以下是我迄今为止为处理由第3方DLL返回的XmlDocument而采取的步骤。我将XmlDocument保存为SegmentationSummary.xml。我使用XSD.exe创建了SegmentationSummary.xsd。我使用XSD.exe创建了SegmentationSummary.cs。这是SegmentationSummary.cs的示例。请注意,ShmResult是根节点表示。///[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","2.0.50727.3038")][System.SerializableA

.net - 使用 XmlSerializer 读取 UTF-16 编码的 XML 文件

我正在调用WebService并获取从WebMethod返回的字符串。该字符串是一个序列化为XML的对象,应使用System.Xml.XmlSerializer对其进行反序列化。我的问题是第一行表明文档是UTF-16编码的:所以当反序列化时,我得到错误:ThereisanerrorinXMLdocument(0,0).执行string.Replace("utf-16","utf-8")确实有效,但必须有一个干净的方法让XmlSerializer知道吗? 最佳答案 这不应该影响任何东西-以下工作正常:usingSystem;using

.net - 如何使用 XmlSerializer 序列化 System.Type 对象?

考虑这种类型:[DataContract]publicclassEntityId{[DataMember(Order=1)]publicstringIdAsString{get;set;}[DataMember(Order=2)]publicTypeType{get;set;}}我为它创建了一个Xml序列化程序程序集。但是,尝试序列化它会产生异常:System.InvalidOperationExceptionoccurredMessage=ThetypeNC.DTO.FlowFolderwasnotexpected.UsetheXmlIncludeorSoapIncludeattri