草庐IT

$序列化

全部标签

c# - 将对象序列化为 XmlDocument

为了在SoapException.Detail中返回有用的信息对于asmxweb服务,我从WCF中汲取灵感并创建了一个故障类来包含上述有用信息。然后将该故障对象序列化为所需的XmlNode抛出的SoapException.我想知道我是否有最好的代码来创建XmlDocument-这是我的看法:varxmlDocument=newXmlDocument();varserializer=newXmlSerializer(typeof(T));using(varstream=newMemoryStream()){serializer.Serialize(stream,theObjectCont

c# - 将对象序列化为不带\r\n 特殊字符的 xml 和字符串

我想将我的对象序列化为xml,然后再序列化为字符串。publicclassMyObject{[XmlElement]publicstringName[XmlElement]publicstringLocation;}我想获得一个单行字符串,它会像这样:VladimirMoskov我正在使用这样的代码:XmlWriterSettingssettings=newXmlWriterSettings();settings.OmitXmlDeclaration=true;settings.Indent=true;StringWriterStringWriter=newStringWriter()

c# - XML 序列化错误 : 2 types both use the XML type name, 'Relationship',来自命名空间 ''

我在通过XML进行序列化时遇到问题,因为2个类使用一个类(尽管类不同!)称为关系。我尝试使用XML属性用另一个名称装饰其中的一个类,但它仍然给我以下错误:{"Types'SiteServer.Relationship'and'LocalServer.Relationship'bothusetheXMLtypename,'Relationship',fromnamespace''.UseXMLattributestospecifyauniqueXMLnameand/ornamespaceforthetype."}这是我的2个类(class),有人知道为什么吗??我使用了错误的属性吗?它似

c# - 反序列化具有以数字开头的某些属性名称的json

JSON数据看起来像这样[{"market_id":"21","coin":"DarkCoin","code":"DRK","exchange":"BTC","last_price":"0.01777975","yesterday_price":"0.01770278","change":"+0.43","24hhigh":"0.01800280","24hlow":"0.01752015","24hvol":"404.202","top_bid":"0.01777975","top_ask":"0.01790000"}]注意这里的这3个属性24high、24hhlow和24hvol您

c# - 使用 Json.Net 反序列化时出现错误 "Cannot deserialize the current JSON array"

我有一个字符串:[{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5},{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5}]我的模型类:publicclassCPacket{publicstringkey{get;set;}publicstringvalue{get;set;}publicintduration{get;set;}}我使用Json.Net,我想将下面的字符串转换为Json对象

c# - 您如何知道何时通过 XML 序列化加载?

我正在尝试通过XML序列化加载对象树,此时它将加载对象,并非常愉快地创建树。我的问题围绕着这些类支持一定程度的审计这一事实。我希望能够在每个对象完成加载后调用一些方法。为了论证,假设我有一个相当通用的对象树,在不同级别有不同的类,例如:123AnyStreet456HighStreet有没有什么方法可以使用默认的序列化程序(类似于您可以创建类似ShouldSerializeFoo的方法)来确定每个对象的加载何时完成?编辑:我应该指出,暴露类似于OnLoaded()方法的明显情况,我可以在反序列化后调用,这让我觉得是一件“坏事”.编辑2:为了便于讨论,这是我当前的hack“方法”,适用于

c# - 在 C# 中,如何将旧对象中的 XML 反序列化为更新后的对象并忽略丢失的 xml 元素?

我有一个自定义设置文件,我使用XmlSerializer对其进行序列化/反序列化。我的对象定义中没有定义模式和序列化标签,只是直接对象序列化(尽管我会在需要时添加它们)。我的问题是我需要向对象添加数据成员。如果我这样做,我知道旧的设置文件将不会反序列化。有没有一种方法可以为添加的成员指定默认值,或者如果XML中缺少它们,可以通过一些简单的方法忽略它们? 最佳答案 来自MSDNBestPracticesToensureproperversioningbehavior,followtheseruleswhenmodifyingatype

c# - 如何让 XmlSerializer 不序列化列表容器标签?

我有一个想要序列化的简单对象图,但我一直无法找到解决此问题的方法。在这里:[XmlRoot]publicpartialclassMyData{privateListitemsField;publicMyData(){this.anyAttrField=newList();this.itemsField=newList();}[XmlElement(Type=typeof(MyDatum))]publicListItems{get{returnthis.itemsField;}set{this.itemsField=value;}}}这会产生以下XML:...我想删除“Items”容器标

c# - 使用 JSON.NET 序列化对象的动态属性名称

我使用JSON.NET序列化我的对象以连接到RESTAPI。我的对象中需要序列化为JSON的属性之一具有动态属性名称。如果此属性的结构中包含的值为数值,则JSON属性为“type_id”,但如果此值为字符串值,则JSON属性名称为“type_code”。我尝试为此使用自定义JsonConverter,但是当我尝试序列化时,我得到了一个带有此消息的JsonWriterException:"TokenPropertyNameinstatePropertywouldresultinaninvalidJSONobject.Path''."下面是我的对象的一个​​子集,如下所示,我没有在我的对象

c# - Linq OrderBy().ThenBy() 方法序列的时间复杂度是多少?

我在我的项目中使用Linq和Lambda操作,我需要根据类的两个属性对列表进行排序。因此,我使用了OrderBy().ThenBy()方法如下:classValueWithIndex{publiclongValue;publicintIndex;}...ListvaluesWithIndex=newList();for(inti=0;iv.Value).ThenBy(v=>v.Index);...在This回答中解释说,OrderBy()使用Quicksort,所以即使它有O(N*logN)的平均时间复杂度,最坏的情况下,时间复杂度也在O(N2)左右。如果ThenBy()方法的最差时间