数组的Xml序列化需要使用XmlArrayAttribute和XmlArrayItemAttribute;XmlArrayAttribute指定数组元素的Xml节点名,XmlArrayItemAttribute指定数组元素的Xml节点名。
如下代码示例:
/
*玉开技术博客 https://www.111cn.net */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;namespace UseXmlSerialization
{
class Program
{
static void Main(string[] args)
{
//声明一个猫咪对象
var cWhite = new Cat { Color = "White", Speed = 10, Saying = "White or black, so long as the cat can catch mice, it is a good cat" };
var cBlack = new Cat { Color = "Black", Speed = 10, Saying = "White or black, so long as the cat can catch mice, it is a good cat" };CatCollection cc = new CatCollection { Cats = new Cat[] { cWhite,cBlack} };
//序列化这个对象
XmlSerializer serializer = new XmlSerializer(typeof(CatCollection));//将对象序列化输出到控制台
serializer.Serialize(Console.Out, cc);Console.Read();
}
}[XmlRoot("cats")]
public class CatCollection
{
[XmlArray("items"),XmlArrayItem("item")]
public Cat[] Cats { get; set; }
}[XmlRoot("cat")]
public class Cat
{
//定义Color属性的序列化为cat节点的属性
[XmlAttribute("color")]
public string Color { get; set; }//要求不序列化Speed属性
[XmlIgnore]
public int Speed { get; set; }//设置Saying属性序列化为Xml子元素
[XmlElement("saying")]
public string Saying { get; set; }
}
}
以上代码将输出:
<?xml version="1.0" encoding="gb2312"?>
White or black, so long as the cat can catch mice, it is a good
cat
White or black, so long as the cat can catch mice, it is a good
cat
Python工程实践之np.loadtxt()读取数据
python中的extend功能及用法
pythonJieba分词处理详解【模式词库的添加、删除自定义词库失败处理等】
pycharm没有找到manage repositories按钮的解决办法
Python+pandas数据分析实践总结
pycharm中报ModuleNotFoundErrorNo module named apostensorflowapos错误解决