Csharp/C#教程:部分xml序列化/反序列化分享


部分xml序列化/反序列化

是否可以从/串行部分(de)/序列化对象?

class Foo { Bar Bar{get;set;} string XmlJunkAsString{get;set;} } 

如此超级,我们希望下面的字符串能够工作……

  

最终我们可以找到Foo.XmlJunkAsString的内容来包含字符串

  

反之亦然,当序列化这个特定的Foo实例时,会产生上面的xml。

可能?

我希望[XmlText]可以工作,但它似乎逃脱了; 你可以实现IXmlSerializable ,但这非常棘手。 以下是丑陋的,但给出了正确的结果(尽管你可能会得到一些xml空白差异)

上述就是C#学习教程:部分xml序列化/反序列化分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 using System; using System.ComponentModel; using System.Xml; using System.Xml.Serialization; public class Bar { } public class Foo { public Bar Bar { get; set; } [XmlIgnore] public string XmlJunkAsString { get; set; } [XmlElement("XmlJunkAsString"), Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public XmlElement XmlJunkAsStringSerialized { get { string xml = XmlJunkAsString; if (string.IsNullOrEmpty(xml)) return null; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); return doc.DocumentElement; } set { XmlJunkAsString = value == null ? null : value.OuterXml; } } } static class Program { static void Main() { var obj = new Foo { Bar = new Bar(), XmlJunkAsString = "" }; var ser = new XmlSerializer(obj.GetType()); ser.Serialize(Console.Out, obj); } } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1039546.html

(0)
上一篇 2022年1月26日
下一篇 2022年1月26日

精彩推荐