jjzjj

XmlSerialization

全部标签

.net - C++/CLI XMLSerialization 布局

在C++中遇到问题:我编写了一个使用XMLSerialization(XmlWriter、XmlReader)生成XML文件的程序。现在一切都完成了,除了布局。在我生成的XML文件中,选项卡和标准XML布局丢失了!是否可以使用C++函数自动格式化此文本...?XmlSerializer^serializer=gcnewXmlSerializer(TESTClass::typeid);//createanxmltextwriterusingafilestream.Stream^fs=gcnewFileStream(filename,FileMode::Create);XmlWriter^

c# - 如何在使用 XmlWriter 执行 XmlSerialization 时添加命名空间?

我将XmlWriter与Xml序列化结合使用。我能够很好地输出XML,但我似乎无法理解如何将xmlns属性包含在XmlWriter中。要编写文档的开头,我使用以下内容:Writer.WriteStartDocument();Writer.WriteStartElement("urlset","http://www.sitemaps.org/schemas/sitemap/0.9");创建XmlWriter后,我循环遍历我创建的SitemapNodes,并通过序列化将它们写入底层stringbuilder,如下所示:foreach(uk.co.andrewrea.SitemapNoden

c# - 覆盖 XmlSerialization 的类名

我需要序列化​​IEnumerable。同时,我希望根节点为“Channels”和二级节点-Channel(而不是ChannelConfiguration)。这是我的序列化器定义:_xmlSerializer=newXmlSerializer(typeof(List),newXmlRootAttribute("Channels"));我通过提供XmlRootAttribute覆盖了根节点,但我还没有找到将Channel而不是ChannelConfiguration设置为二级节点的选项。我知道我可以通过为IEnumerable引入包装器并使用XmlArrayItem来做到这一点,但我不想

c# - XmlSerialization 和 xsi :SchemaLocation (xsd. exe)

我使用xsd.exe生成了一个用于读取/写入GPX文件的C#类。如何让生成的XML文件包含xsi:schemaLocation属性例如。我想要以下但xsi:schemaLocation总是丢失 最佳答案 将其添加到生成的C#类中:[XmlAttribute("schemaLocation",Namespace=XmlSchema.InstanceNamespace)]publicstringxsiSchemaLocation="http://www.topografix.com/GPX/1/1"+"http://www.topogr

c# - 嵌套/子对象的自定义 XmlSerialization

我有一个场景,其中我有一个资源类,其中嵌套了另外两个类;Action和ResourceURL。我需要为Resource和Action而不是为ResourceURL编写自定义xmlserializer。我为两者都实现了IXmlSerializable。问题是,当Resource被序列化时,我调用Action.WriteXML(XmlWriter)来获取Action的序列化形式,但我无法获取ResourceURL的序列化形式。标签变得一团糟,它还添加了一个标签。那么我如何序列化一个对象,该对象对某些嵌套对象具有客户序列化,但对其他嵌套对象没有? 最佳答案

c# - 您可以为日期时间的 XmlSerialization 指定格式吗?

我需要将日期时间序列化/反序列化为XML文件的yyyyMMdd格式。是否有我可以使用的属性/解决方法? 最佳答案 不,没有。如果它采用那种格式,那么就XML架构而言,它不是有效的日期时间。你能做的最好的是:[XmlIgnore]publicDateTimeDoNotSerialize{get;set;}publicstringProxyDateTime{get{returnDoNotSerialize.ToString("yyyyMMdd");}set{DoNotSerialize=DateTime.Parse(value);}}

c# - 过时的属性导致属性被 XmlSerialization 忽略

我正在重构一些序列化为XML但需要保留一些属性以实现向后兼容性的对象,我有一种方法可以为我将旧对象转换为新对象并使过时的属性为空。我想使用Obsolete属性告诉其他开发人员不要使用此属性,但它会导致该属性被XmlSerializer忽略。类似代码:[Serializable]publicclassMySerializableObject{privateMyObject_oldObject;privateMyObject_anotherOldObject;privateMyObject_newBetterObject;[Obsolete("UsenewpropertiesinNewBe