草庐IT

序列化和反序列化

全部标签

C# 序列化从结果中删除属性名称

我无法从我的xml中删除clsProduct中的属性Values的名称。我尝试使用[XmlElement(ElementName="Values",Type=typeof(clsValues)]对于我的List但它没有给我我需要的结果。你可以在下面看到我需要的结果。我的序列化类的一部分:[Serializable]publicclassclsProduct{[XmlAttribute("ID")]publicstringID{get;set;}[XmlAttribute("UserTypeID")]publicstringUserTypeID{get;set;}[XmlArrayIte

c# - 序列化在 c# 中实现 IEnumerable 的自定义泛型类型

我有一个通用类型Foo1,它基本上是一个包含一些元数据和通用列表的容器。当我序列化该类型时,它获得名称“Foo1Of”+TypeParameterName。publicclassFoo1{publicstringName{get;set;}=string.Empty;publicListList{get;set;}=newList();}[TestMethod]publicvoidSerializeFoo1(){Foo1foo=newFoo1{Name="Foo1",List={"Bar","Baz"}};XmlSerializers=newXmlSerializer(foo.GetT

c# - 仅反序列化 XML 中的特定项目并添加到列表

我有一个包含多个项目的XML文件,我想一次只反序列化一个特定的项目,而不是所有项目,然后将其添加到列表中。使用thissite中的示例,如何仅反序列化Id=2的Product并将其添加到productList?类:publicclassProduct{publicintId{get;set;}publicstringName{get;set;}}代码:voidfoo(){stringxmlString="1MyXMLproduct2Mysecondproduct";XmlSerializerserializer=newXmlSerializer(typeof(List),newXmlR

xml - xslt 2.0 处理器是否优化仅选择序列中的第一项?

例如,对于输入文档:和样式表:XSLT处理器是否通过不评估序列(@a,@b,@c)[1]中的@c项来进行优化?以这种方式定义vTest的原因是尝试以更短的方式模拟xsl:choose逻辑。我想这可能很难回答,我对SaxonXSLT2.0处理器版本9.5+特别感兴趣。 最佳答案 撒克逊肯定会做这个优化。但规范中没有任何内容可以保证这一点。并且在某些情况下可能不会发生,例如try/catch中的执行策略可能会有所不同。但通常是的,大多数半途而废的XSLT处理器会在您编写EXPR[1]时避免完全计算EXPR。

c# - 在 C# 中将 XML 空日期反序列化为 DateTime

我有以下XML需要反序列化为C#对象。除了有时为空的日期元素外,所有元素都有效。ModifiedDateSpecified模型类定义为:[System.Xml.Serialization.XmlType(Namespace="http://webservices.mycompany.com/Order/17.2.0",AnonymousType=true)][System.Xml.Serialization.XmlRoot(Namespace="http://webservices.mycompany.com/Order/17.2.0",IsNullable=false)]public

c# - 序列化 List<T> 的 XmlSerializer 的构造函数在与 XmlAttributeOverrides 一起使用时抛出 InvalidOperationException

总结使用XmlSerializer时类,序列化一个List(其中T可以用XmlSerializer毫无问题地序列化)使用XmlAttributeOverrides像这样:usingxmls=System.Xml.Serialization;...xmls.XmlAttributeOverridesattributeOverrides=newxmls.XmlAttributeOverrides();attributeOverrides.Add(typeof(T),newxmls.XmlAttributes(){XmlRoot=newxmls.XmlRootAttribute("foo")

c# - 如何将动态对象序列化为xml C#

我有一个object{System.Collections.Generic.List}包含1000object{DynamicData}在里面,每个都有4个键和值,还有一个List里面有2个键和值。我需要将这个对象序列化为一个XML文件,我尝试了正常的序列化,但它给了我这个异常=ThetypeDynamicDatawasnotexpected,我怎样才能序列化这个对象?代码如下://outputisthenameofmyobjectXmlSerializerxsSubmit=newXmlSerializer(output.GetType());varxml="";using(varsw

c# - 如何使用 XML 阅读器反序列化 XML 片段

我正在尝试反序列化一个Xml片段。我快到了,但它抛出了一个错误,它不期望第一个元素。流中的XML示例如下:12009-03-16T20:34:57.022167+00:00222009-03-11T20:34:57.022167+00:00DescriptionherePojecttitle51234567我正在使用以下代码反序列化:XmlSerializerserializer=newXmlSerializer(typeof(Project));XmlReaderSettingssettings=newXmlReaderSettings();settings.ValidationFl

java - 如何强制 XSLT 结果树使用特定的默认命名空间进行序列化?

我试图从文档中去除namespace限定符,同时保留文档namespace作为默认值:到(我知道,这是没有意义的,但我们的客户端没有获取XML并使用字符串比较来查找文档中的信息。)我在这里使用Java的JAXPTransformerAPI来完成我的工作。我可以使用此样式表删除所有namespace信息,但我想改为强制序列化而不带前缀:我该怎么做? 最佳答案 如果您希望输出保留“somenamespace”命名空间,但元素上没有命名空间前缀,请在样式表的未命名命名空间(不带前缀)中声明“somenamenamespace”:xmlns

xml - 序列化时强制 XML 元素匹配类顺序

有没有办法强制按照对象类中定义的方式对从XML序列化生成的XML元素进行排序?即classSerializableClass{[XmlElement("Element.1")]publicListElement1{get{return_Element1;}set{_Element1=value;}}privateList_Element1;[XmlElement("Element.2")]publicintElement2;[XmlElement("Element.3")]publicListElement3{get{return_Element3;}set{_Element3=val