1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4. namespace XStream
  5. {
  6. /// <summary>
  7. /// <remarks>Xml序列化与反序列化</remarks>
  8. /// <creator>zhangdapeng</creator>
  9. /// </summary>
  10. public class XmlSerializeUtil
  11. {
  12. #region 反序列化
  13. /// <summary>
  14. /// 反序列化
  15. /// </summary>
  16. /// <param name="type">类型</param>
  17. /// <param name="xml">XML字符串</param>
  18. /// <returns></returns>
  19. public static object Deserialize(Type type, string xml)
  20. {
  21. using (StringReader sr = new StringReader(xml))
  22. {
  23. XmlSerializer xmldes = new XmlSerializer(type);
  24. return xmldes.Deserialize(sr);
  25. }
  26. }
  27. /// <summary>
  28. /// 反序列化
  29. /// </summary>
  30. /// <param name="type"></param>
  31. /// <param name="xml"></param>
  32. /// <returns></returns>
  33. public static object Deserialize(Type type, Stream stream)
  34. {
  35. XmlSerializer xmldes = new XmlSerializer(type);
  36. return xmldes.Deserialize(stream);
  37. }
  38. #endregion
  39. #region 序列化
  40. /// <summary>
  41. /// 序列化
  42. /// </summary>
  43. /// <param name="type">类型</param>
  44. /// <param name="obj">对象</param>
  45. /// <returns></returns>
  46. public static string Serializer(Type type, object obj)
  47. {
  48. MemoryStream Stream = new MemoryStream();
  49. XmlSerializer xml = new XmlSerializer(type);
  50. //序列化对象
  51. xml.Serialize(Stream, obj);
  52. Stream.Position = 0;
  53. StreamReader sr = new StreamReader(Stream);
  54. string str = sr.ReadToEnd();
  55. sr.Dispose();
  56. Stream.Dispose();
  57. return str;
  58. }
  59. #endregion
  60. }
  61. }
using System;
using System.IO;
using System.Xml.Serialization; namespace XStream
{
/// <summary>
/// <remarks>Xml序列化与反序列化</remarks>
/// <creator>zhangdapeng</creator>
/// </summary>
public class XmlSerializeUtil
{
#region 反序列化
/// <summary>
/// 反序列化
/// </summary>
/// <param name="type">类型</param>
/// <param name="xml">XML字符串</param>
/// <returns></returns>
public static object Deserialize(Type type, string xml)
{
using (StringReader sr = new StringReader(xml))
{
XmlSerializer xmldes = new XmlSerializer(type);
return xmldes.Deserialize(sr);
}
}
/// <summary>
/// 反序列化
/// </summary>
/// <param name="type"></param>
/// <param name="xml"></param>
/// <returns></returns>
public static object Deserialize(Type type, Stream stream)
{
XmlSerializer xmldes = new XmlSerializer(type);
return xmldes.Deserialize(stream);
}
#endregion #region 序列化
/// <summary>
/// 序列化
/// </summary>
/// <param name="type">类型</param>
/// <param name="obj">对象</param>
/// <returns></returns>
public static string Serializer(Type type, object obj)
{
MemoryStream Stream = new MemoryStream();
XmlSerializer xml = new XmlSerializer(type);
//序列化对象
xml.Serialize(Stream, obj);
Stream.Position = 0;
StreamReader sr = new StreamReader(Stream);
string str = sr.ReadToEnd(); sr.Dispose();
Stream.Dispose(); return str;
} #endregion
}
}

这个类是个实体类

  1. using System.Collections.Generic;
  2. using System.Xml.Serialization;
  3. namespace XStream
  4. {
  5. /// <summary>
  6. /// <creator>zhangdapeng</creator>
  7. /// </summary>
  8. [XmlRoot("skycenter")]
  9. public class AdsbEntity
  10. {
  11. private string _type;
  12. [XmlAttribute("type")]
  13. public string Type
  14. {
  15. get { return _type; }
  16. set { _type = value; }
  17. }
  18. private string _source;
  19. [XmlAttribute("source")]
  20. public string Source
  21. {
  22. get { return _source; }
  23. set { _source = value; }
  24. }
  25. private string _reality;
  26. [XmlAttribute("reality")]
  27. public string Reality
  28. {
  29. get { return _reality; }
  30. set { _reality = value; }
  31. }
  32. private string _rcvTime;
  33. [XmlAttribute("rcvTime")]
  34. public string RcvTime
  35. {
  36. get { return _rcvTime; }
  37. set { _rcvTime = value; }
  38. }
  39. private Head _head;
  40. //属性的定义
  41. [XmlElement("head")]
  42. public Head Head
  43. {
  44. set   //设定属性
  45. {
  46. _head = value;
  47. }
  48. get    //从属性获取值
  49. {
  50. return _head;
  51. }
  52. }
  53. private List<Unit> data = new List<Unit>();
  54. [XmlArray("data")]
  55. [XmlArrayItem("unit")]
  56. public List<Unit> Unit
  57. {
  58. get { return data; }
  59. }
  60. public void addUnit(Unit e)
  61. {
  62. data.Add(e);
  63. }
  64. private string _msg;
  65. public string msg
  66. {
  67. get { return _msg; }
  68. set { _msg = value; }
  69. }
  70. }
  71. }
using System.Collections.Generic;
using System.Xml.Serialization; namespace XStream
{
/// <summary>
/// <creator>zhangdapeng</creator>
/// </summary>
[XmlRoot("skycenter")]
public class AdsbEntity
{
private string _type; [XmlAttribute("type")]
public string Type
{
get { return _type; }
set { _type = value; }
}
private string _source;
[XmlAttribute("source")]
public string Source
{
get { return _source; }
set { _source = value; }
}
private string _reality;
[XmlAttribute("reality")]
public string Reality
{
get { return _reality; }
set { _reality = value; }
}
private string _rcvTime;
[XmlAttribute("rcvTime")]
public string RcvTime
{
get { return _rcvTime; }
set { _rcvTime = value; }
}
private Head _head;
//属性的定义
[XmlElement("head")]
public Head Head
{
set //设定属性
{
_head = value;
}
get //从属性获取值
{
return _head;
}
} private List<Unit> data = new List<Unit>(); [XmlArray("data")]
[XmlArrayItem("unit")]
public List<Unit> Unit
{
get { return data; }
}
public void addUnit(Unit e)
{
data.Add(e);
} private string _msg; public string msg
{
get { return _msg; }
set { _msg = value; }
} }
}
  1. using System.Xml.Serialization;
  2. namespace XStream
  3. {
  4. /// <summary>
  5. /// <creator>zhangdapeng</creator>
  6. /// </summary>
  7. public class Head
  8. {
  9. private string _datagramId;
  10. [XmlElement("datagramId")]
  11. public string DatagramId
  12. {
  13. set
  14. {
  15. _datagramId = value;
  16. }
  17. get
  18. {
  19. return _datagramId;
  20. }
  21. }
  22. private string _priority;
  23. [XmlElement("priority")]
  24. public string Priority
  25. {
  26. get { return _priority; }
  27. set { _priority = value; }
  28. }
  29. private string _an;
  30. [XmlElement("an")]
  31. public string An
  32. {
  33. get { return _an; }
  34. set { _an = value; }
  35. }
  36. private string _fi;
  37. [XmlElement("fi")]
  38. public string Fi
  39. {
  40. get { return _fi; }
  41. set { _fi = value; }
  42. }
  43. private string _rcvAddress;
  44. [XmlElement("rcvAddress")]
  45. public string RcvAddress
  46. {
  47. get { return _rcvAddress; }
  48. set { _rcvAddress = value; }
  49. }
  50. private string _sndAddress;
  51. [XmlElement("sndAddress")]
  52. public string SndAddress
  53. {
  54. get { return _sndAddress; }
  55. set { _sndAddress = value; }
  56. }
  57. private string _bepTime;
  58. [XmlElement("bepTime")]
  59. public string BepTime
  60. {
  61. get { return _bepTime; }
  62. set { _bepTime = value; }
  63. }
  64. private string _smi;
  65. [XmlElement("smi")]
  66. public string Smi
  67. {
  68. get { return _smi; }
  69. set { _smi = value; }
  70. }
  71. private string _dsp;
  72. [XmlElement("dsp")]
  73. public string Dsp
  74. {
  75. get { return _dsp; }
  76. set { _dsp = value; }
  77. }
  78. private string _rgs;
  79. [XmlElement("rgs")]
  80. public string Rgs
  81. {
  82. get { return _rgs; }
  83. set { _rgs = value; }
  84. }
  85. private string _msn;
  86. [XmlElement("msn")]
  87. public string Msn
  88. {
  89. get { return _msn; }
  90. set { _msn = value; }
  91. }
  92. private string _datagramType;
  93. [XmlElement("datagramType")]
  94. public string DatagramType
  95. {
  96. get { return _datagramType; }
  97. set { _datagramType = value; }
  98. }
  99. private string _icao24;
  100. [XmlElement("icao24")]
  101. public string Icao24
  102. {
  103. get { return _icao24; }
  104. set { _icao24 = value; }
  105. }
  106. private string _callcode;
  107. [XmlElement("callcode")]
  108. public string Callcode
  109. {
  110. get { return _callcode; }
  111. set { _callcode = value; }
  112. }
  113. }
  114. }
using System.Xml.Serialization;

namespace XStream
{
/// <summary>
/// <creator>zhangdapeng</creator>
/// </summary>
public class Head
{ private string _datagramId;
[XmlElement("datagramId")]
public string DatagramId
{
set
{
_datagramId = value;
}
get
{
return _datagramId;
}
} private string _priority;
[XmlElement("priority")]
public string Priority
{
get { return _priority; }
set { _priority = value; }
} private string _an;
[XmlElement("an")]
public string An
{
get { return _an; }
set { _an = value; }
} private string _fi;
[XmlElement("fi")]
public string Fi
{
get { return _fi; }
set { _fi = value; }
} private string _rcvAddress;
[XmlElement("rcvAddress")]
public string RcvAddress
{
get { return _rcvAddress; }
set { _rcvAddress = value; }
} private string _sndAddress;
[XmlElement("sndAddress")]
public string SndAddress
{
get { return _sndAddress; }
set { _sndAddress = value; }
} private string _bepTime;
[XmlElement("bepTime")]
public string BepTime
{
get { return _bepTime; }
set { _bepTime = value; }
} private string _smi;
[XmlElement("smi")]
public string Smi
{
get { return _smi; }
set { _smi = value; }
} private string _dsp;
[XmlElement("dsp")]
public string Dsp
{
get { return _dsp; }
set { _dsp = value; }
} private string _rgs;
[XmlElement("rgs")]
public string Rgs
{
get { return _rgs; }
set { _rgs = value; }
} private string _msn;
[XmlElement("msn")]
public string Msn
{
get { return _msn; }
set { _msn = value; }
} private string _datagramType;
[XmlElement("datagramType")]
public string DatagramType
{
get { return _datagramType; }
set { _datagramType = value; }
} private string _icao24;
[XmlElement("icao24")]
public string Icao24
{
get { return _icao24; }
set { _icao24 = value; }
} private string _callcode;
[XmlElement("callcode")]
public string Callcode
{
get { return _callcode; }
set { _callcode = value; }
} }
}
  1. using System.Xml.Serialization;
  2. namespace XStream
  3. {
  4. /// <summary>
  5. /// <creator>zhangdapeng</creator>
  6. /// </summary>
  7. [XmlRootAttribute("unit")]
  8. public class Unit
  9. {
  10. private string _name;
  11. [XmlAttribute("name")]
  12. public string Name
  13. {
  14. get { return _name; }
  15. set { _name = value; }
  16. }
  17. private string _name_value;
  18. [XmlTextAttribute]
  19. public string Name_value
  20. {
  21. get { return _name_value; }
  22. set { _name_value = value; }
  23. }
  24. }
  25. }
using System.Xml.Serialization;

namespace XStream
{
/// <summary>
/// <creator>zhangdapeng</creator>
/// </summary>
[XmlRootAttribute("unit")]
public class Unit
{
private string _name; [XmlAttribute("name")]
public string Name
{
get { return _name; }
set { _name = value; }
} private string _name_value; [XmlTextAttribute]
public string Name_value
{
get { return _name_value; }
set { _name_value = value; }
}
}
}

主类:

  1. using System;
  2. using System.Xml;
  3. namespace XStream
  4. {
  5. /// <summary>
  6. /// <creator>zhangdapeng</creator>
  7. /// </summary>
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. string path = System.AppDomain.CurrentDomain.BaseDirectory;
  13. XmlDocument xmlDoc = new XmlDocument();
  14. xmlDoc.Load(@path+"../../test.xml");
  15. Console.WriteLine(xmlDoc.OuterXml);
  16. AdsbEntity ad = XmlSerializeUtil.Deserialize(typeof(AdsbEntity), xmlDoc.OuterXml) as AdsbEntity;
  17. Console.WriteLine(ad.Head.DatagramId);
  18. Console.WriteLine(ad.Head.Fi);
  19. string xml = XmlSerializeUtil.Serializer(typeof(AdsbEntity), ad);
  20. Console.WriteLine(xml);
  21. Console.ReadKey();
  22. }
  23. }
  24. }
using System;
using System.Xml; namespace XStream
{
/// <summary>
/// <creator>zhangdapeng</creator>
/// </summary>
class Program
{
static void Main(string[] args)
{ string path = System.AppDomain.CurrentDomain.BaseDirectory;
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@path+"../../test.xml");
Console.WriteLine(xmlDoc.OuterXml); AdsbEntity ad = XmlSerializeUtil.Deserialize(typeof(AdsbEntity), xmlDoc.OuterXml) as AdsbEntity;
Console.WriteLine(ad.Head.DatagramId);
Console.WriteLine(ad.Head.Fi); string xml = XmlSerializeUtil.Serializer(typeof(AdsbEntity), ad);
Console.WriteLine(xml); Console.ReadKey(); }
}
}

原始输入:test.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <skycenter type="ADSBResult" source="ADSB" reality="T" rcvTime="2014-02-25 07:23:31">
  3. <head>
  4. <!--报文id 注:空节点-->
  5. <datagramId>127</datagramId>
  6. <!--priority 注:空节点-->
  7. <priority>18</priority>
  8. <!--机尾号-->
  9. <an>B-5662</an>
  10. <!--航班号-->
  11. <fi>HU7782</fi>
  12. <!--接收地址 注:空节点-->
  13. <rcvAddress>1</rcvAddress>
  14. <!--发送地址 注:空节点-->
  15. <sndAddress>1</sndAddress>
  16. <!--bepTime 注:空节点-->
  17. <bepTime>1</bepTime>
  18. <!--SMI 注:空节点-->
  19. <smi>1</smi>
  20. <!--DSP服务商 注:空节点-->
  21. <dsp>1</dsp>
  22. <!--地面站-->
  23. <rgs>PEK</rgs>
  24. <!--流水号 注:空节点-->
  25. <msn>1</msn>
  26. <!--报文类型,都是POS 注:空节点-->
  27. <datagramType>1</datagramType>
  28. <!--ICAO24位地址码-->
  29. <icao24>7808a3</icao24>
  30. <!--呼号-->
  31. <callcode>CHH7782</callcode>
  32. </head>
  33. <data>
  34. <!--纬度 看前面的字母“N”或“S”,格式“DDMMSS.SS”-->
  35. <unit name="LAT">N31414709</unit>
  36. <!--经度 看前面的字母“E”或“W”,格式“DDDMMSS.SS”-->
  37. <unit name="LON">E118463546</unit>
  38. <!--气压高度,单位是米-->
  39. <unit name="ALT">396.24</unit>
  40. <!--计算空速 单位海里每小时-->
  41. <unit name="CAS">127.00</unit>
  42. <!--航向   正北是0°,顺时针,0到360°-->
  43. <unit name="VEC">58.18</unit>
  44. <!--收到报文的UTC时间 hh24mmss-->
  45. <unit name="UTC">072331</unit>
  46. </data>
  47. <msg>11</msg>
  48. </skycenter>
<?xml version="1.0" encoding="UTF-8"?>
<skycenter type="ADSBResult" source="ADSB" reality="T" rcvTime="2014-02-25 07:23:31">
<head>
<!--报文id 注:空节点-->
<datagramId>127</datagramId>
<!--priority 注:空节点-->
<priority>18</priority>
<!--机尾号-->
<an>B-5662</an>
<!--航班号-->
<fi>HU7782</fi>
<!--接收地址 注:空节点-->
<rcvAddress>1</rcvAddress>
<!--发送地址 注:空节点-->
<sndAddress>1</sndAddress>
<!--bepTime 注:空节点-->
<bepTime>1</bepTime>
<!--SMI 注:空节点-->
<smi>1</smi>
<!--DSP服务商 注:空节点-->
<dsp>1</dsp>
<!--地面站-->
<rgs>PEK</rgs>
<!--流水号 注:空节点-->
<msn>1</msn>
<!--报文类型,都是POS 注:空节点-->
<datagramType>1</datagramType>
<!--ICAO24位地址码-->
<icao24>7808a3</icao24>
<!--呼号-->
<callcode>CHH7782</callcode>
</head>
<data>
<!--纬度 看前面的字母“N”或“S”,格式“DDMMSS.SS”-->
<unit name="LAT">N31414709</unit>
<!--经度 看前面的字母“E”或“W”,格式“DDDMMSS.SS”-->
<unit name="LON">E118463546</unit>
<!--气压高度,单位是米-->
<unit name="ALT">396.24</unit>
<!--计算空速 单位海里每小时-->
<unit name="CAS">127.00</unit>
<!--航向 正北是0°,顺时针,0到360°-->
<unit name="VEC">58.18</unit>
<!--收到报文的UTC时间 hh24mmss-->
<unit name="UTC">072331</unit>
</data>
<msg>11</msg>
</skycenter>

结果:

  1. </pre><pre class="html" name="code"><?xml version="1.0" encoding="UTF-8"?>
  2. <skycenter type="ADSBResult" source="ADSB" reality="T" rcvTime="2014-02-25 07:23:31">
  3. <head>
  4. <!--报文id 注:空节点-->
  5. <datagramId>127</datagramId>
  6. <!--priority 注:空节点-->
  7. <priority>18</priority>
  8. <!--机尾号-->
  9. <an>B-5662</an>
  10. <!--航班号-->
  11. <fi>HU7782</fi>
  12. <!--接收地址 注:空节点-->
  13. <rcvAddress>1</rcvAddress>
  14. <!--发送地址 注:空节点-->
  15. <sndAddress>1</sndAddress>
  16. <!--bepTime 注:空节点-->
  17. <bepTime>1</bepTime>
  18. <!--SMI 注:空节点-->
  19. <smi>1</smi>
  20. <!--DSP服务商 注:空节点-->
  21. <dsp>1</dsp>
  22. <!--地面站-->
  23. <rgs>PEK</rgs>
  24. <!--流水号 注:空节点-->
  25. <msn>1</msn>
  26. <!--报文类型,都是POS 注:空节点-->
  27. <datagramType>1</datagramType>
  28. <!--ICAO24位地址码-->
  29. <icao24>7808a3</icao24>
  30. <!--呼号-->
  31. <callcode>CHH7782</callcode>
  32. </head>
  33. <data>
  34. <!--纬度 看前面的字母“N”或“S”,格式“DDMMSS.SS”-->
  35. <unit name="LAT">N31414709</unit>
  36. <!--经度 看前面的字母“E”或“W”,格式“DDDMMSS.SS”-->
  37. <unit name="LON">E118463546</unit>
  38. <!--气压高度,单位是米-->
  39. <unit name="ALT">396.24</unit>
  40. <!--计算空速 单位海里每小时-->
  41. <unit name="CAS">127.00</unit>
  42. <!--航向   正北是0°,顺时针,0到360°-->
  43. <unit name="VEC">58.18</unit>
  44. <!--收到报文的UTC时间 hh24mmss-->
  45. <unit name="UTC">072331</unit>
  46. </data>
  47. <msg>11</msg>
  48. </skycenter>
  49. 127
  50. HU7782
  51. <?xml version="1.0"?>
  52. <skycenter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http
  53. ://www.w3.org/2001/XMLSchema" type="ADSBResult" source="ADSB" reality="T" rcvTim
  54. e="2014-02-25 07:23:31">
  55. <head>
  56. <datagramId>127</datagramId>
  57. <priority>18</priority>
  58. <an>B-5662</an>
  59. <fi>HU7782</fi>
  60. <rcvAddress>1</rcvAddress>
  61. <sndAddress>1</sndAddress>
  62. <bepTime>1</bepTime>
  63. <smi>1</smi>
  64. <dsp>1</dsp>
  65. <rgs>PEK</rgs>
  66. <msn>1</msn>
  67. <datagramType>1</datagramType>
  68. <icao24>7808a3</icao24>
  69. <callcode>CHH7782</callcode>
  70. </head>
  71. <data>
  72. <unit name="LAT">N31414709</unit>
  73. <unit name="LON">E118463546</unit>
  74. <unit name="ALT">396.24</unit>
  75. <unit name="CAS">127.00</unit>
  76. <unit name="VEC">58.18</unit>
  77. <unit name="UTC">072331</unit>
  78. </data>
  79. <msg>11</msg>
  80. </skycenter>
</pre><pre class="html" name="code"><?xml version="1.0" encoding="UTF-8"?>
<skycenter type="ADSBResult" source="ADSB" reality="T" rcvTime="2014-02-25 07:23:31">
<head>
<!--报文id 注:空节点-->
<datagramId>127</datagramId>
<!--priority 注:空节点-->
<priority>18</priority>
<!--机尾号-->
<an>B-5662</an>
<!--航班号-->
<fi>HU7782</fi>
<!--接收地址 注:空节点-->
<rcvAddress>1</rcvAddress>
<!--发送地址 注:空节点-->
<sndAddress>1</sndAddress>
<!--bepTime 注:空节点-->
<bepTime>1</bepTime>
<!--SMI 注:空节点-->
<smi>1</smi>
<!--DSP服务商 注:空节点-->
<dsp>1</dsp>
<!--地面站-->
<rgs>PEK</rgs>
<!--流水号 注:空节点-->
<msn>1</msn>
<!--报文类型,都是POS 注:空节点-->
<datagramType>1</datagramType>
<!--ICAO24位地址码-->
<icao24>7808a3</icao24>
<!--呼号-->
<callcode>CHH7782</callcode>
</head>
<data>
<!--纬度 看前面的字母“N”或“S”,格式“DDMMSS.SS”-->
<unit name="LAT">N31414709</unit>
<!--经度 看前面的字母“E”或“W”,格式“DDDMMSS.SS”-->
<unit name="LON">E118463546</unit>
<!--气压高度,单位是米-->
<unit name="ALT">396.24</unit>
<!--计算空速 单位海里每小时-->
<unit name="CAS">127.00</unit>
<!--航向 正北是0°,顺时针,0到360°-->
<unit name="VEC">58.18</unit>
<!--收到报文的UTC时间 hh24mmss-->
<unit name="UTC">072331</unit>
</data>
<msg>11</msg>
</skycenter> 127
HU7782
<?xml version="1.0"?>
<skycenter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http
://www.w3.org/2001/XMLSchema" type="ADSBResult" source="ADSB" reality="T" rcvTim
e="2014-02-25 07:23:31">
<head>
<datagramId>127</datagramId>
<priority>18</priority>
<an>B-5662</an>
<fi>HU7782</fi>
<rcvAddress>1</rcvAddress>
<sndAddress>1</sndAddress>
<bepTime>1</bepTime>
<smi>1</smi>
<dsp>1</dsp>
<rgs>PEK</rgs>
<msn>1</msn>
<datagramType>1</datagramType>
<icao24>7808a3</icao24>
<callcode>CHH7782</callcode>
</head>
<data>
<unit name="LAT">N31414709</unit>
<unit name="LON">E118463546</unit>
<unit name="ALT">396.24</unit>
<unit name="CAS">127.00</unit>
<unit name="VEC">58.18</unit>
<unit name="UTC">072331</unit>
</data>
<msg>11</msg>
</skycenter>

出处:http://blog.csdn.net/philosophyatmath/article/details/28593153

C# XML反序列化与序列化举例:XmlSerializer的更多相关文章

  1. C# XML反序列化与序列化举例:XmlSerializer(转)

    using System; using System.IO; using System.Xml.Serialization; namespace XStream { /// <summary&g ...

  2. <经验杂谈>C#/.Net中xml的Serialization序列化与DeSerializetion反序列化

    1.先讲概念:.Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象.Serializ ...

  3. .NET(C#):觉察XML反序列化中的未知节点

    原文 www.cnblogs.com/mgen/archive/2011/12/12/2284554.html 众所周知XML是可以扩展的,XML的元素可以靠名称识别而不是只按照未知识别.在 XML反 ...

  4. android-pull方式解析xml文件以及XML文件的序列化

    android解析XML ---------------------------基础要像磐石 在android平台上可以使用SAX.DOM和自带的Pull解析器解析xml文件,本文主要介绍使用pull ...

  5. Xml反序列化记录

    1.概述 公司项目遇到一个需要对接webservice的,webservice大部分用的都是xml来传输的,这里记录一下xml反序列化遇到的问题 2.xml工具类 xml序列化: public sta ...

  6. 让Visual Studio 2013为你自动生成XML反序列化的类

    Visual Sutdio 2013增加了许多新功能,其中很多都直接提高了对代码编辑的便利性.如: 1. 在代码编辑界面的右侧滚动条上显示不同颜色的标签,让开发人员可以对所编辑文档的修改.查找.定位情 ...

  7. wp8.1 Study11:APP里文件读写和使用XML和Json序列化

    一.文件读写 1.基本操作(使用FileIO API) 这个方法在上一个stduy已经学过,那么贴出来复习下,代码如下: private async void writeTextToLocalStor ...

  8. 自动生成XML反序列化的类

    原文地址:http://www.cnblogs.com/jaxu/p/3632077.html   Visual Sutdio 2013增加了许多新功能,其中很多都直接提高了对代码编辑的便利性.如: ...

  9. XML反序列化遇到数字型节点值为空导致反序列化异常

    实体类: [XmlRoot("stream")] public class _30320DuisiFukuanQueryResponseModel : ResponseModelB ...

随机推荐

  1. iMX6 yocto平台QT交叉编译环境搭建

    转:https://blog.csdn.net/morixinguan/article/details/79351909 . /opt/fsl-imx-fb/4.9.11-1.0.0/environm ...

  2. Linux挂载Windows共享目录

    在windows中设置共享目录并添加权限用户 把Window系统的文件共享挂载到linux centos 目录下的方法步骤: 1.先在windows下面共享需要挂载的目录. 2.确保linux与win ...

  3. node做验证码

    使用了ccap插件 1.安装: 通用方法:npm install ccap 2. cnst ccap= require('ccap')({ width: 128, height: 40, offset ...

  4. JS兼容各个浏览器的本地图片上传即时预览效果\、

    在firefox\chrome\ie10等浏览器中可以使用HTML5中的内容实现图片即时预览效果,在IE10以下浏览器中使用滤镜来解决图片显示问题. HTML5中的FileReader对象主要是把文件 ...

  5. arguments解析

    js中并没有函数重载的概念,但函数的arguments参数能帮助我们模拟重载. arguments并不是真正的数组,但拥有length(参数数目),且能通过数组下标的方式进行访问,例如argument ...

  6. 【转】linux驱动开发

    转自:http://www.cnblogs.com/heat-man/articles/4174899.html 首先理一理驱动/内核/应用程序的一些概念,以前总没有具体的去关注过! 我们的pc直观来 ...

  7. Windows batch: call more than one command in a FOR loop?

    https://stackoverflow.com/questions/2252979/windows-batch-call-more-than-one-command-in-a-for-loop U ...

  8. 美化tp5.1跳转提示

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. nova Flavors

    $ nova help | grep flavor- flavor-access-add Add flavor access for the given tenant. flavor-access-l ...

  10. 智课雅思词汇---二十二、-al即是名词性后缀又是形容词后缀

    智课雅思词汇---二十二.-al即是名词性后缀又是形容词后缀 一.总结 一句话总结: 后缀:-al ②[名词后缀] 1.构成抽象名词,表示行为.状况.事情 refusal 拒绝 proposal 提议 ...