最近做一个Model转XML 话不多,直接上代码:
[Serializable]
[XmlRoot("root")]
public class ResponseInvoicePush
{
public ResponseInvoicePush()
{
RESPONSE_FPXXS = new List<FPTSJG>();
}
[XmlElement("code")]
public string RETURN_CODE { get; set; }
[XmlAttribute("attr")]
public string RETURN_MESSAGE { get; set; }
[XmlIgnore]
public string XmlIgnore { get; set; }
[XmlArray("FPTSJGS")]
public List<FPTSJG> RESPONSE_FPXXS { get; set; }
}
public class FPTSJG
{
public string FPQQLSH { get; set; }
public string FPTSLSH { get; set; }
}
代码讲解:
- 加载类的【?】 均为特性
- [Serializable] 将该类标记为可以序列化类
- [XmlRoot(“root”)]可以指定重新指定xml根节点的名称,若不加这特性,此类在序列化时候,会默认使用类名作为根节点
- [XmlElement(“code”)] 同3
- [XmlIgnore] 此特性是忽略此属性
- [XmlAttribute(“attr”)] 此属性会作为特性在 元素中
List<FPTSJG> lis = new List<FPTSJG>(){
new FPTSJG(){FPQQLSH="fs233df",FPTSLSH="f5454d"},
new FPTSJG(){FPQQLSH="fs2324df",FPTSLSH="f43d"},
new FPTSJG(){FPQQLSH="f7676sdf",FPTSLSH="f656d"}
};
ResponseInvoicePush push = new ResponseInvoicePush();
push.RETURN_CODE = "niuni1111111df";
push.RETURN_MESSAGE = "messagge";
push.XmlIgnore = "XmlIgnore";
push.RESPONSE_FPXXS = lis;
XmlSerializer serializer = new XmlSerializer(typeof(ResponseInvoicePush));
//将对象序列化输出到控制台
serializer.Serialize(Console.Out, push);
Console.Read();
- 新建一个控制台,将main方法放入
- 初始化ResponseInvoicePush 基本信息
- XmlSerializer serializer = new XmlSerializer(typeof(ResponseInvoicePush)); 开始使用xml序列化该模型
- serializer.Serialize(Console.Out, push); 将实体输出在前台页面
运行结果如下: