实例介绍
【实例简介】C# xml序列化和反序列化
【实例截图】
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace XStream
{
[XmlRoot("PublicSetting")]
public class ConfigEntity
{
private SystemNode _systemNode;
private Other _other;
[XmlElement("Other")]
public Other other
{
set { _other = value; }
get { return _other; }
}
[XmlElement("System")]
public SystemNode systemNode
{
set {_systemNode = value; }
get { return _systemNode; }
}
// public DBConfig dbConfig
// {
// set { _dbConfig = value; }
// get { return _dbConfig; }
// }
private List<DatabaseConfig> dataBase = new List<DatabaseConfig>();
[XmlArray("DBConfig")]
[XmlArrayItem("DatabaseConfig")]
public List<DatabaseConfig> DBConfig
{
get { return dataBase; }
}
}
public class Other
{
private int _encoding;
[XmlElement("Encoding")]
public int encoding
{
set { _encoding = value; }
get { return _encoding; }
}
}
//[XmlRootAttribute("System")]
public class SystemNode
{
private string _sysVip;
private string _cmServer;
private string _cmServerWin;
private string _cmWeb;
private string _fls;
private string _flSvr;
private string _jove;
private string _plsWin;
private string _ingestDbSvr;
private string _ingestDevCtl;
private string _ingestTaskSvr;
private string _ingestMsgSvr;
private string _otc;
private string _sangHa;
private string _sangHaSvr;
private string _sangHaWeb;
private string _snsSvr;
[XmlElement("Sys_VIP")]
public string sysVip
{
set { _sysVip = value; }
get { return _sysVip; }
}
[XmlElement("CMServer")]
public string cmServer
{
set { _cmServer = value; }
get { return _cmServer; }
}
[XmlElement("CMserver_windows")]
public string cmSerWin
{
set { _cmServerWin = value; }
get { return _cmServerWin; }
}
[XmlElement("CMweb")]
public string cmWeb
{
set { _cmWeb = value; }
get { return _cmWeb; }
}
[XmlElement("Fls")]
public string fls
{
set { _fls = value; }
get { return _fls; }
}
[XmlElement("FLSvr")]
public string flsSvr
{
set { _flSvr = value; }
get { return _flSvr; }
}
[XmlElement("Jove")]
public string jove
{
set { _jove = value; }
get { return _jove; }
}
[XmlElement("PLS_Windows")]
public string plsWin
{
set { _plsWin = value; }
get { return _plsWin; }
}
[XmlElement("IngestDBSvr")]
public string ingestDbSvr
{
set { _ingestDbSvr = value; }
get { return _ingestDbSvr; }
}
[XmlElement("IngestDEVCTL")]
public string ingestDevCtl
{
set { _ingestDevCtl = value; }
get { return _ingestDevCtl; }
}
[XmlElement("IngestTaskSvr")]
public string ingestTaskSvr
{
set { _ingestTaskSvr = value; }
get { return _ingestTaskSvr; }
}
[XmlElement("IngestMsgSvr")]
public string ingestMsgSvr
{
set { _ingestMsgSvr = value; }
get { return _ingestMsgSvr; }
}
[XmlElement("Otc")]
public string otc
{
set { _otc = value; }
get { return _otc; }
}
[XmlElement("SangHa")]
public string sangHa
{
set { _sangHa = value; }
get { return _sangHa; }
}
[XmlElement("SangHaSvr")]
public string sangHaSvr
{
set { _sangHaSvr = value; }
get { return _sangHaSvr; }
}
[XmlElement("SangHaWeb")]
public string sangHaWeb
{
set { _sangHaWeb = value; }
get { return _sangHaWeb; }
}
[XmlElement("SNSServer")]
public string snsSvr
{
set { _snsSvr = value; }
get { return _snsSvr; }
}
}
// [XmlRootAttribute("DBConfig")]
// public class DBConfig
// {
//
//
// }
[XmlRootAttribute("DatabaseConfig")]
public class DatabaseConfig
{
private string _moduleName;
[XmlAttribute("module")]
public string moduleName
{
set { _moduleName = value; }
get { return _moduleName; }
}
private string _instance;
private string _userName;
private string _passWord;
private int _port;
[XmlElement("Instance")]
public string instance
{
set { _instance = value; }
get { return _instance; }
}
[XmlElement("Username")]
public string userName
{
set { _userName = value; }
get { return _userName; }
}
[XmlElement("Password")]
public string passWord
{
set { _passWord = value; }
get { return _passWord; }
}
[XmlElement("Port")]
public int port
{
set { _port = value; }
get { return _port; }
}
}
}
【实例截图】
【核心代码】
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; namespace XStream { public class XmlSerializeUtil { /// <summary> /// /// </summary> /// <param name="type">类型</param> /// <param name="xml">xml字符串</param> /// <returns></returns> public static object Deserialize(Type type, string xml) { object obj = null; try { using (StringReader str = new StringReader(xml)) { XmlSerializer xmlNode = new XmlSerializer(type); obj = xmlNode.Deserialize(str); } } catch(System.InvalidOperationException e) { } return obj; } /// <summary> /// /// </summary> /// <param name="type"></param> /// <param name="stream"></param> /// <returns></returns> public static object Deserialize(Type type,Stream stream) { Object obj = null; try { XmlSerializer xmlNode = new XmlSerializer(type); obj = xmlNode.Deserialize(stream); } catch(System.InvalidOperationException e) { } return obj; } /// <summary> /// 序列化 /// </summary> /// <param name="type"></param> /// <param name="obj"></param> /// <returns></returns> public static string Serialize(Type type, object obj) { MemoryStream stream = new MemoryStream(); XmlSerializer xmlNode = new XmlSerializer(type); xmlNode.Serialize(stream, obj); stream.Position = 0; StreamReader reader = new StreamReader(stream); string str = reader.ReadToEnd(); stream.Dispose(); reader.Dispose(); return str; } } }using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace XStream
{
[XmlRoot("PublicSetting")]
public class ConfigEntity
{
private SystemNode _systemNode;
private Other _other;
[XmlElement("Other")]
public Other other
{
set { _other = value; }
get { return _other; }
}
[XmlElement("System")]
public SystemNode systemNode
{
set {_systemNode = value; }
get { return _systemNode; }
}
// public DBConfig dbConfig
// {
// set { _dbConfig = value; }
// get { return _dbConfig; }
// }
private List<DatabaseConfig> dataBase = new List<DatabaseConfig>();
[XmlArray("DBConfig")]
[XmlArrayItem("DatabaseConfig")]
public List<DatabaseConfig> DBConfig
{
get { return dataBase; }
}
}
public class Other
{
private int _encoding;
[XmlElement("Encoding")]
public int encoding
{
set { _encoding = value; }
get { return _encoding; }
}
}
//[XmlRootAttribute("System")]
public class SystemNode
{
private string _sysVip;
private string _cmServer;
private string _cmServerWin;
private string _cmWeb;
private string _fls;
private string _flSvr;
private string _jove;
private string _plsWin;
private string _ingestDbSvr;
private string _ingestDevCtl;
private string _ingestTaskSvr;
private string _ingestMsgSvr;
private string _otc;
private string _sangHa;
private string _sangHaSvr;
private string _sangHaWeb;
private string _snsSvr;
[XmlElement("Sys_VIP")]
public string sysVip
{
set { _sysVip = value; }
get { return _sysVip; }
}
[XmlElement("CMServer")]
public string cmServer
{
set { _cmServer = value; }
get { return _cmServer; }
}
[XmlElement("CMserver_windows")]
public string cmSerWin
{
set { _cmServerWin = value; }
get { return _cmServerWin; }
}
[XmlElement("CMweb")]
public string cmWeb
{
set { _cmWeb = value; }
get { return _cmWeb; }
}
[XmlElement("Fls")]
public string fls
{
set { _fls = value; }
get { return _fls; }
}
[XmlElement("FLSvr")]
public string flsSvr
{
set { _flSvr = value; }
get { return _flSvr; }
}
[XmlElement("Jove")]
public string jove
{
set { _jove = value; }
get { return _jove; }
}
[XmlElement("PLS_Windows")]
public string plsWin
{
set { _plsWin = value; }
get { return _plsWin; }
}
[XmlElement("IngestDBSvr")]
public string ingestDbSvr
{
set { _ingestDbSvr = value; }
get { return _ingestDbSvr; }
}
[XmlElement("IngestDEVCTL")]
public string ingestDevCtl
{
set { _ingestDevCtl = value; }
get { return _ingestDevCtl; }
}
[XmlElement("IngestTaskSvr")]
public string ingestTaskSvr
{
set { _ingestTaskSvr = value; }
get { return _ingestTaskSvr; }
}
[XmlElement("IngestMsgSvr")]
public string ingestMsgSvr
{
set { _ingestMsgSvr = value; }
get { return _ingestMsgSvr; }
}
[XmlElement("Otc")]
public string otc
{
set { _otc = value; }
get { return _otc; }
}
[XmlElement("SangHa")]
public string sangHa
{
set { _sangHa = value; }
get { return _sangHa; }
}
[XmlElement("SangHaSvr")]
public string sangHaSvr
{
set { _sangHaSvr = value; }
get { return _sangHaSvr; }
}
[XmlElement("SangHaWeb")]
public string sangHaWeb
{
set { _sangHaWeb = value; }
get { return _sangHaWeb; }
}
[XmlElement("SNSServer")]
public string snsSvr
{
set { _snsSvr = value; }
get { return _snsSvr; }
}
}
// [XmlRootAttribute("DBConfig")]
// public class DBConfig
// {
//
//
// }
[XmlRootAttribute("DatabaseConfig")]
public class DatabaseConfig
{
private string _moduleName;
[XmlAttribute("module")]
public string moduleName
{
set { _moduleName = value; }
get { return _moduleName; }
}
private string _instance;
private string _userName;
private string _passWord;
private int _port;
[XmlElement("Instance")]
public string instance
{
set { _instance = value; }
get { return _instance; }
}
[XmlElement("Username")]
public string userName
{
set { _userName = value; }
get { return _userName; }
}
[XmlElement("Password")]
public string passWord
{
set { _passWord = value; }
get { return _passWord; }
}
[XmlElement("Port")]
public int port
{
set { _port = value; }
get { return _port; }
}
}
}
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论