jjzjj

xmlSerializer

全部标签

javascript - 在使用 XMLSerializer() 序列化 XML 之前从 XML 中删除无效字符

我正在尝试将用户输入存储在客户端(javascript)的XML文档中,并将其传输到服务器以实现持久性。例如,一位用户粘贴了包含STX字符(0x2)的文本。XMLSerializer没有转义STX字符,因此没有序列化为格式正确的XML。或者.attr()调用可能已经转义了STX字符,但无论哪种情况,都会生成无效的XML。我发现浏览器内XMLSerializer()的输出并不总是格式正确,(甚至不满足浏览器自己的DOMParser()这个例子表明STX字符没有被XMLSerializer()正确编码:>doc=$.parseXML('\n');#document>$(doc).find(

c# - 将 xml 反序列化为类,list<> 有问题

我有以下XML我正在尝试编写可以反序列化的类,这就是我所拥有的:[XmlRoot("map")]publicclassMyMap{[XmlAttribute("version")]publicdecimalVersion{get;set;}[XmlElement("properties")]publicListProperties{get;set;}}publicclassMyProperty{[XmlAttribute("name")]publicstringName{get;set;}[XmlAttribute("value")]publicstringValue{get;set;

c# - 如何使用 XmlSerializer 将异构子节点反序列化为一个集合?

我正在使用C#/.NET反序列化一个类似于此的XML文件:""""""...""...MoreBooknodes...我的类,对于反序列化的XML,看起来像:[XmlRoot("Books")]publicclassBookList{//Othercoderemovedforcompactness.[XmlElement("Book")]publicListBooks{get;set;}}publicclassBook{//Othercoderemovedforcompactness.[XmlAttribute("Title")]publicstringTitle{get;set;}[

c# - XmlSerializer 在 .NET 3.5 和 CF.NET 3.5 之间有所不同

我有一个在CF.NET和.NET下运行的库,但两者之间的序列化不同。因此,在CF.NET下生成的XML文件在.NET下不可读,这对我来说是个大问题!这里是代码示例:[Serializable,XmlRoot("config")]publicsealedclassRemoteHost:IEquatable{//...}publicclassProgram{publicstaticvoidMain(){RemoteHosthost=newRemoteHost("A");Listhosts=newList();hosts.Add(host);XmlSerializerser=newXmlSe

.net - .NET XmlSerializer 类可以将 InnerXml 反序列化为字符串吗?

我有一个非常具体的反序列化需求,请参见下面的示例:假设我有以下类(class):[Serializable]publicclassPerson{publicstringName{get;set;}publicstringPersonXml{get;set;}}和以下XMLJohntext我想要的是XmlSerializer类将元素的InnerXml作为字符串反序列化为PersonXml属性。我想知道是否可以做到。注意:我知道我可以对的内容进行编码以转义非法XML字符,但我更愿意让内部XML更加人性化(不包含 最佳答案 您始终可以实现

c# - 如何在反序列化之前区分 XML 文件的类型?

我正在将MusicXML文件加载到我的程序中。问题:有两种“方言”,timewise和partwise,它们具有不同的根节点(和不同的结构):......和......到目前为止,我用于反序列化部分分数的代码是:using(varfileStream=newFileStream(openFileDialog.FileName,FileMode.Open)){varxmlSerializer=newXmlSerializer(typeof(ScorePartwise));varresult=(ScorePartwise)xmlSerializer.Deserialize(fileStre

c# - 保存文件 - xmlSerializer

我正在创建一种使用以下代码序列化文件的方法:publicvoidSave(Objectfile,Typetype,Stringpath){//CreateanewSerializerXmlSerializerserializer=newXmlSerializer(typeof(type));//CreateanewStreamWriterStreamWriterwriter=newStreamWriter(@path);//Serializethefileserializer.Serialize(writer,file);//Closethewriterwriter.Close();}

c# - DataContractSerializer 如何写入私有(private)字段?

我了解XMLSerializer如何通过使用反射来确定应该使用哪些公共(public)读/写字段或属性来序列化或反序列化XML。然而XMLSerializer要求字段是公共(public)的和可读/写的。但是,DataContractSerializer能够读取或写入类中完全私有(private)的字段。所以我想知道如果不显式授予DataContractSerializer对我的类的额外访问权限,这怎么可能。 最佳答案 反射有很多特点。XmlSerializer通过“sgen.exe”能够将序列化代码预构建为二进制文件(dll)。这

c# - XmlSerializer 是否会转义 & 等特殊字符?

我正在尝试重构一个将其对象作为XML传输的库。虽然我认为.NETFramework的XmlSerialzer可以处理序列化,但该类都有一个ToXML函数。在其中,所有字符串值都通过一个转义字符的函数喜欢和相似。XmlSerializer不会自动转义那些a字符吗? 最佳答案 是的。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Xml.Serialization;usingSystem.Xml;namespaceTestXmlSerial

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

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