jjzjj

xmlSerializer

全部标签

c# - 为什么 XmlSerializer 在映射具有相同名称但不同命名空间的类的对象图时无法初始化?

我从没有namespace的第三方接收XML。XML模式以简化和混淆的形式显示如下:5737318573请注意这里有两个不同的Address类。它们实际上被定义为两个不同的complexType,每个都在我从第三方收到的单独的XML模式中。一种模式反射(reflect)了Root模型,而另一种模式反射(reflect)了ReportAReport的模型。每个Address类都有不同的属性。我在命名空间中表示每一个,将每个XML模式视为其自己的命名空间。事实上,模式定义了namespace,但我从第三方收到的XML响应出于某种原因选择省略这些namespace。命名空间:MyCompan

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# - 禁止 XmlSerializer 发出空值类型

请考虑以下标记为可为null的XmlElement的Amount值类型属性:[XmlElement(IsNullable=true)]publicdouble?Amount{get;set;}当可空值类型设置为null时,C#XmlSerializer结果如下所示:我希望XmlSerializer完全抑制该元素,而不是发出该元素。为什么?我们使用Authorize.NET进行在线支付,如果存在此null元素,Authorize.NET将拒绝请求。当前的解决方案/解决方法是根本不序列化Amount值类型属性。相反,我们创建了一个补充属性SerializableAmount,它基于Amou

c# - 我可以让 XmlSerializer 在反序列化时忽略命名空间吗?

我能否让XmlSerializer在反序列化时忽略namespace(xmlns属性),这样无论是否添加该属性,或者即使该属性是伪造的都无关紧要?我知道来源永远是可信的,所以我不关心xmlns属性。 最佳答案 是的,您可以告诉XmlSerializer在反序列化期间忽略namespace。定义一个忽略命名空间的XmlTextReader。像这样://helperclasstoignorenamespaceswhende-serializingpublicclassNamespaceIgnorantXmlTextReader:XmlT

c# - 创建 XmlSerializer 对象时如何解决此异常?

我在http://www.w3.org/2001/XMLSchema.xsd下载了用于XML模式的XML模式.然后我使用XSD.EXE从下载的文件创建一个类。我将类命名为schema.cs。然后我执行了这行代码:XmlSerializerserializer=newXmlSerializer(typeof(schema));得到这个错误:TheXMLelement'annotation'fromnamespace'http://www.w3.org/2001/XMLSchema'isalreadypresentinthecurrentscope.如何在不破坏模式的情况下找到重复元素并修

使用抽象类的 C# XML 序列化

我目前正在尝试将一些命令设置为用于通信协议(protocol)序列化的类。我的代码基本上如下:[XmlRoot("Message")][Serializable]publicclassMessage{privateCommand[]_commands;[XmlAttribute("ver")]publicintVersion{get;set;}[XmlAttribute("msid")]publicGuidId{get;set;}[XmlArray("Commands")][XmlArrayItem(typeof(HealthCheckCommand))][XmlArrayItem(t

c# - 将 XML 文件映射到 C# 类

我知道将xml反序列化为C#类是很常见的事情,我以前也做过。但是我收到了一个XML文件,其格式我很难正确反序列化。当我从XML生成C#类时。我得到一种我不想要的格式。基本上所有属性都获得列类型..基本的XML格式如下。问题是我有250个属性,我真的不想手动映射每个属性。我实际上手动编写了一个具有正确属性的类。Id,price,date等等...我尝试添加ElementName和AttributeName但没有成功。我可以使用XmlSerializer将其直接映射到C#类吗?它完美地映射了自动生成的类,但它以列和columnName的列表结束。有谁知道我是否可以在我的c#类上使用一些xm

c# - XmlSerializer 在定义为 XmlElement 的自闭标记后将 null 设置为属性

想象一下具有如下所示的XML结构:[XmlRoot("Foo")]publicclassFoo{[XmlElement("Bar")]publicBarBar{get;set;}[XmlElement("SuperImportant")]publicSuperImportantSuperImportant{get;set;}}[XmlRoot("Bar")]publicclassBar{[XmlElement("Baz")]publicXmlElementBaz{get;set;}}[XmlRoot("SuperImportant")]publicclassSuperImportant

asp.net - 在 asp.net 中编写和下载 xml 文件的最佳方法是什么?

我有一个Web表单,它需要将用户输入的数据保存到一个文件中,并在客户端电脑上保存,该表单还可以从保存的文件中读取并在以后重新填充字段。没有文件会保存到服务器端,所以我希望在编写时需要涉及流式传输。我认为XML是实现此目的的一种简单方法,但我在方法上受阻。XML文件?XML编写器?我什至无法找到我想要的正确搜索词。在此先感谢您的指点。 最佳答案 您需要使用XML序列化。看看这篇[MSDN文章][1]。以下是关于序列化和反序列化的摘录:HowtoSerializeanObjectToSerializeandobject,weneedfe

.net - SOAP 客户端未正确处理 XML 实体;遇到 "There is an error in XML document"

我们的WCFWeb服务的一些消费者在尝试解析我们的响应时遇到异常:System.InvalidOperationException:ThereisanerrorinXMLdocument(5,-349).atSystem.Xml.Serialization.XmlSerializer.Deserialize(XmlReaderxmlReader,StringencodingStyle,XmlDeserializationEventsevents)atSystem.Xml.Serialization.XmlSerializer.Deserialize(XmlReaderxmlReader