草庐IT

可变序列

全部标签

c# - 将 XML 反序列化为对象时缺少子节点

我需要处理某些xml,但无法反序列化其中的对象列表。以下是xml:18338517Gearxyz10StorexyzExternal123McdayInternal234Mcnight.....下面是我的课[XmlRoot("catalog")]publicclassCatalog{[XmlArray("item")][XmlArrayItem("item",typeof(Item))]publicItem[]item{get;set;}}[XmlRoot("item")]publicclassItem{[XmlElement("id")]publicstringid{get;set;

c# - XML 序列化最后生成随机字符串? C#

这个问题在这里已经有了答案:FileMode.OpenandFileMode.OpenOrCreatedifferencewhenfileexists?c#bug?(1个回答)关闭4年前。在序列化类并保存到文件时,有时会发生错误,序列化后的输出如下所示:SomeRouteSomethingHerete>------>Noticethisextrastring?我正在序列化的类如下所示:[Serializable]publicclassTemplate{publicstringRoute=string.Empty;publicstringTradePack=string.Empty;pu

.net - 将 XML 中的 <ArrayOf> 反序列化为 List<>

我在反序列化WCF网络服务的结果时遇到问题。该方法返回List,它被序列化为XML,如下所示。当我尝试反序列化时,我只是得到一个异常,如下所示。看来我无法反序列化至List.注意RecipeEntity按合约名称映射到Recipe.搜索后我看到许多建议的XmlArray和XmlElement属性,但据我所知它们不适用于GetRecipes()。方法。我只看到它们用于序列化类的字段。我知道我可以包装List在RecipeListclass并返回它,但我宁愿将任何给定类型直接反序列化为List。异常(exception):System.InvalidOperationExceptionwa

c# - 以编程方式将类序列化为 xsd

有没有办法以编程方式从C#.NET类创建XSD?我想使用类型信息将对象序列化为xsd(或xml)。 最佳答案 是的;查看XsdDataContractExporter;MSDN有一个fullexamplehere.备选;XmlSchemaExporter 关于c#-以编程方式将类序列化为xsd,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8308500/

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

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

c# - 如何使类反序列化为不同的名称

例如:将很好地序列化到一个名为“apple”的类。但是,如果我想将该类称为“Dragon”,它将不会序列化(这是有道理的)。我想知道如何标记“Dragon”,以便当XmlSerializer看到它时,它知道“Dragon”与 最佳答案 假设Dragon至少定义了apple所做的属性和字段的超集,那么competent_tech的回答是合适的,尽管我认为您的问题实际上是在问:[System.Xml.Serialization.XmlType("apple")]publicclassDragon如果Dragon不与apple兼容,那么您

c# - 如何使用类名作为根元素序列化 C# 类

我有以下C#类[XmlRoot("Customer")]publicclassMyClass{[XmlElement("CustId")]publicintId{get;set;}[XmlElement("CustName")]publicstringName{get;set;}}然后我使用以下函数将类对象序列化为XmlpublicstaticXmlDocumentSerializeObjectToXML(objectobj,stringsElementName){XmlSerializerserializer=newXmlSerializer(obj.GetType(),newXml

xml - 在 xslt 中创建序列号

输入XML:Paragraph1Paragraph2Paragraph3Paragraph4Paragraph5Paragraph6要求的输出:Paragraph1Paragraph2Paragraph3Paragraph4Paragraph5Paragraph6我尝试使用以下XSL,但没有获得所需的输出。任何人都可以帮助我吗?我得到的结果是:Paragraph1Paragraph2Paragraph3Paragraph4Paragraph5Paragraph6 最佳答案 这是一个不使用xsl:for-each或任何xsl:vari

c# - 列表的 XML 序列化

我正在将一个对象序列化为XML。我有这样的东西:ClassA{publicstringpropertyA1{get;set;}publicListbList{get;set;}}ClassB{publicstringnum{get;set;}publicstringpropertyB1{get;set;}}当我将它序列化为XML时,我希望它看起来像这样:someValsomeValsomeVal但是,它看起来像这样:someValsomeValsomeVal知道如何去掉输出中的bList吗?如果需要,我可以提供更多示例代码谢谢,斯科特 最佳答案

c# - 二进制序列化和 XML 序列化之间是否存在任何性能差异?

就解析(序列化、反序列化)和通过网络发送数据包而言,是否可以很好地估计二进制和xml序列化之间的性能差异? 最佳答案 没有。这在很大程度上取决于XML文档本身内部的数据类型。如果你有很多结构化数据,XML的开销会很大。例如,如果您的数据如下所示:Dave000-00-0000xxxxxx/email1>...与拥有如下所示的XML文档相比,您的开销要大得多:InthebeginningGodcreatedtheheavensandtheearth.Nowtheearthwasformlessandempty...Andifanyma