1. XmlArray和XmlArrayItem

XmlArray和XmlArrayItem是不同的,XmlArray是指这个数组叫什么,XmlArrayItem 值数组的每个元素叫什么。

<XmlArray>
<XmlArrayItem>0</XmlArrayItem>
<XmlArrayItem>1</XmlArrayItem>
<XmlArrayItem>2</XmlArrayItem>
</XmlArray>

测试对象

         #region UrlsInfo

         UrlsInfo info;
public UrlsInfo ConfigInfo
{
private set{ info = value;}
get { return info; }
} [Serializable]
[XmlRoot(ElementName = "root")]
/// <summary>
///
/// </summary>
public class UrlsInfo
{
[XmlElement(ElementName = "setting")]
public SettingInfo Settings
{
get;
set;
}
[XmlArray(ElementName = "urls"),XmlArrayItem(ElementName = "item")]
public List<string> Urls { get; set; }
} public class SettingInfo
{
[XmlElement(ElementName = "interval")]
/// <summary>
/// 心跳访问定时间隔
/// </summary>
public int Interval
{
get;
set;
}
[XmlElement(ElementName = "use_db")]
/// <summary>
/// 是否使用数据库;true或fasle,为true时,下面的urls节点无效,直接读取数据库的表记录;为fasle时读取下面的url节点的设置
/// </summary>
public bool UseDb
{
get;
set;
}
[XmlElement(ElementName = "connection_string")]
public string ConnectionString
{
get;
set;
}
} #endregion

单元测试  

         [TestMethod]
public void TestUrlsInfo()
{
UrlsConfig info = new UrlsConfig();
string ConfigPath = info.ConfigPath; UrlsConfig.UrlsInfo urlsInfo = new UrlsConfig.UrlsInfo(){
Settings = new UrlsConfig.SettingInfo(){
Interval = ,
UseDb = false,
ConnectionString = ""
},
Urls = new System.Collections.Generic.List<string>(){ "http://www.baidu.cn"}
};
string ConfigPath2 = AppDomain.CurrentDomain.BaseDirectory + "urlsTest.xml";
using (Stream stream = new FileStream(ConfigPath2, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
XmlSerializer serializer = new XmlSerializer(typeof(UrlsConfig.UrlsInfo));
serializer.Serialize(stream, urlsInfo);
} string xml = WQB.Common.XmlHelper.SerializerPlain<UrlsConfig.UrlsInfo>(urlsInfo); }

相关参考:

https://www.mgenware.com/blog/?p=142

对象序列和反序列化Xml的更多相关文章

  1. .NET(C#)使用Serialize、Deserialize序列和反序列化XML文档

    本文给大家分享一下C#操作(读取.写入)XML文档的实用方法,即用.NET本身提供的Deserialize和Serialize进行反序列化和序列化XML文档.这种方法主要是对比较规范的XML文档进行操 ...

  2. C# xml数组的序列和反序列化

    先来看xml <?xml version="1.0"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSche ...

  3. C# XML对象序列化、反序列化

    XML 序列化:可以将对象序列化为XML文件,或者将XML文件反序列化为对象还有种方法使用LINQ TO XML或者反序列化的方法从XML中读取数据. 最简单的方法就是.net framework提供 ...

  4. C# XML对象序列化、反序列化 - PEPE YU

    http://www.tuicool.com/articles/IjE7ban http://www.cnblogs.com/johnsmith/archive/2012/12/03/2799795. ...

  5. C#对象序列化成XML,以及自定义标签名

    C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> p ...

  6. 匿名对象序列化为XML

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  7. 将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  8. C#对象序列化与反序列化zz

      C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍........................ ...

  9. C#对象序列化与反序列化

    C#对象序列化与反序列化(转载自:http://www.cnblogs.com/LiZhiW/p/3622365.html) 1. 对象序列化的介绍.......................... ...

随机推荐

  1. python笔记-用python解决小学生数学题【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python/ 前几天有人在群里给小编出了个数学题: 假设你有无限数量的邮票,面值分别为 ...

  2. 在C#中将金额转换成中文大写金额

    具体代码如下: /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param name="LowerMoney ...

  3. Ubuntu安装java环境

    Ubuntu安装java环境 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装oracle-j ...

  4. poj2774(最长公共子串)

    poj2774 题意 求两个字符串的最长公共子串 分析 论文 将两个字符串合并,中间插入分隔符,在找最大的 height 值的时候保证,两个字符串后缀的起始点分别来自原来的两个字符串. code #i ...

  5. Shellcode开发辅助工具shellnoob

    Shellcode开发辅助工具shellnoob   Shellcode开发的过程中会遇到很多繁杂的工作,如编译.反编译.调试等.为了减少这部分工作,Kali Linux提供了开发辅助工具shelln ...

  6. idea点击RUN启动报错: Broken configuration due to unavailable plugin or invalid configuration dat

    今天照常打开idea,突然发现之前的启动配置出问题了,随后报了一个这个错: Run Configuration Error: Broken configuration due to unavailab ...

  7. 你也许还不知道const_cast,static_cast,dynamic_cast,reinterpret_cast的区别吧?

    [QQ群: 189191838,对算法和C++感兴趣可以进来]       开篇立意: C++中各种转换令人眼花缭乱,看似差不多,实际差很多,而且在当今时间,做一个"差不多先生"其 ...

  8. Jekyll搭建个人博客-拓展版

    关于Jekyll Jekyll 是一个简单的博客形态的静态站点生产机器.它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown (或者 Textile) 以及 Liquid 转化成一个完 ...

  9. mysql中单表多timestamp设置default问题

    mysql中,同一个表多个timesatmp字段设置default的时候,经常会报错. 一个表只能有一个设置default的字段. 但是有时只有一个字段设置default也会报错. 会报:Incorr ...

  10. wget下载网站

    命令格式如下: wget -r -p -np -k http://URL -r:在本机建立服务器端目录结构: -p: 下载显示HTML文件的所有图片: -np:只下载目标站点指定目录及其子目录的内容: ...