草庐IT

SERIALIZATION

全部标签

c# - Clean XML 序列化分层递归数据结构

我有这门课:[XmlRoot("menuItem")]publicclassMenuItem{[XmlAttribute("text")]publicstringText{get;set;}[XmlAttribute("isLink")]publicboolIsLink{get;set;}[XmlAttribute("url")]publicstringUrl{get;set;}[XmlArray("items",IsNullable=true)]publicListItems{get;set;}}它定义了菜单层次结构。现在,在序列化此类时,三级菜单的输出XML为:因此,MenuIte

c# - 使用 XmlIgnoreAttribute 忽略基类属性

我有一个抽象基类,我在其中添加了一些虚拟属性。我想要的是,在我的派生类中,指定在序列化(和反序列化过程)期间忽略特定的基类属性。如下所示,BaseClass类中的Value属性被声明为virtual属性,并且在DerivedClass中>-class,使用overrides-关键字,我选择覆盖基类的ppty,然后将XmlIgnoreAttribute-Attribute放在它上面。但是,当我测试代码时,我仍然发现Valueppty包含在为我的派生类实例生成的XML中。Definitionppty也会发生同样的事情,即使我使用new关键字将它隐藏在Derived类中,它也会呈现,然后也将

java - 序列化与字节码翻译

我是编程初学者,我只是想知道序列化过程和字节码(中间语言)相互转换的过程是否有区别。我在javacodegeeks.com上找到了这个:SerializationisusuallyusedWhentheneedarisestosendyourdataovernetworkorstoredinfiles.BydataImeanobjectsandnottext.NowtheproblemisyourNetworkinfrastructureandyourHarddiskarehardwarecomponentsthatunderstandbitsandbytesbutnotJavaobj

C# xml序列化必填字段

我需要将一些字段标记为需要写入XML文件,但没有成功。我有一个包含~30个属性的配置类,这就是为什么我不能像这样封装所有属性publicstringSomeProp{get{return_someProp;}set{if(_someProp==null)thrownewArgumentNullException("value");_someProp=value;}}null是来自代码的有效值,但不是来自XML。我正在尝试使用XmlAttribute,但它并没有像我预期的那样产生影响(反序列化时出现IOException)。例如这段代码:[XmlElement(IsNullable=tr

xml - 将 XML 字符串反序列化为对象 VB.NET

我在网上看过很多示例,但要么我无法理解应用程序,要么示例与我的示例差异太大,我无法转换。我有一个XML987asdf654321789还有下面的类PublicClassInterfacesModelPropertyInterfacesAsNewList(OfInterfaceModel)EndClassPublicClassInterfaceModelPropertyInterfaceCodeAsStringPropertyAccessIDAsStringPropertyPasswordAsStringEndClass以下代码生成一个InterfacesModel和一个空的Interf

java - 如何在不创建另一个类的情况下创建内部 child ?

我需要生成这样的XML:SomethingM最简单的解决方案是在Root类上创建一个内部类:@RootclassRoot{@ElementChildrenelement;@RootprivatestaticclassChildren{@ElementStringinnerChildren;}}但我想避免创建内部类,因为它会使使用Root对象时看起来很奇怪。无论如何我可以在不使用内部类的情况下实现该结果吗?创建Root对象的预期方式:Rootroot=newRoot("Something");我想避免的事情:Childrenchild=newChildren("Something");R

c# - Xml序列化序列问题

通常,所有这些都非常适合将我的对象序列化为Xml字符串并再次序列化为对象。但是,我似乎无法追踪不同最终用户之间的这种不一致。基本上,当我序列化一个对象时,一旦转换为Xml,它看起来像这样:Step220Motor450KWPump1400Volt3Phase12w50Hz400415Wye3231/400vFtrue500.8000falsefalseFtrueKWm00.90450falseNEMAVariableFrequencyDriveF05.3Motor450KWPump1400Volt3Phase12w50Hz400415Wye3231/400vFtrue500.8000f

c# - 序列化数组时去掉 <ArrayOfClassname> 根元素

这是一个代码示例:publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}}...staticvoidMain(){Person[]persons=newPerson[]{newPerson{FirstName="John",LastName="Smith"},newPerson{FirstName="Mark",LastName="Jones"},newPerson{FirstName="Alex",LastName="Hackman"}};XmlSerializerxs=newXm

c# - 读取 XML 文件时出错

Personperson=GetPerson();XmlSerializerNamespacesns=newXmlSerializerNamespaces();ns.Add(string.Empty,string.Empty);XmlSerializerserializer=newXmlSerializer(typeof(Person));stringpersonText=string.Empty;using(MemoryStreammemoryStream=newMemoryStream()){using(XmlWriterxmlWriter=XmlWriter.Create(mem

c# - 无法识别指定的类型

错误:{"Thespecifiedtypewasnotrecognized:name='VitalsPlugin',namespace='',at."}代码:publicclassSimpleSerializer{staticvoidMain(){stringxml="true";StringReaderreader=newStringReader(xml);varresult=Deserialize(reader);}staticPluginDeserialize(TextReaderxml){XmlSerializerxsr=newXmlSerializer(typeof(Plug