[英].NET XML Serializer - Array Custom Attributes
我对如何实现这样的XML结构感到非常困惑:
<sizes type=”1”>
<size status=”1”>L</size>
<size status=”1”>XL</size>
<size status=”0”>XXL</size>
<sizes>
我能够创建这样的结构:
<sizes>
<size>L</size>
<size>XL</size>
<size>XXL</size>
<sizes>
具有XmlArray
和XmlArrayItem
属性。
[XmlArray(ElementName = "sizes")]
[XmlArrayItem(ElementName = "size")]
但是我无法做的是添加这些自定义属性。 我该怎么做? 我是否需要创建一个新对象来保存这些值并为其设置自定义属性?
您应该将它们定义为属性。 这应该工作:
using System.Collections.Generic;
using System.Xml.Serialization;
public class sizes
{
[XmlAttribute("type")]
public string type { get; set; }
[XmlElement("size")]
public List<size> sizeList { get; set; }
}
public class size
{
[XmlAttribute("status")]
public string status { get; set; }
}
以及反序列化的代码:
string xml = File.ReadAllText("XMLFile1.xml");
XmlSerializer ser = new XmlSerializer(typeof(sizes));
var sizes = ser.Deserialize(new StringReader(xml));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.