.NET XML Serializer - 数组自定义属性

时间:2015-08-20 13:38:26

标签: c# .net xml serialization

我完全不知道如何实现这样的XML结构:

<sizes>
    <size>L</size>
    <size>XL</size>
   <size>XXL</size>
<sizes>

我能够创建这样的结构:

XmlArray

使用XmlArrayItem[XmlArray(ElementName = "sizes")] [XmlArrayItem(ElementName = "size")] 属性。

wd = your WebDriver; 
searchFrame= wd.findElement(By.xpath("whatever"));
wd.switchTo().frame(searchFrame);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("button2")));
wd.findElement(By.className("button2")).click();

但我无法做的是添加这些自定义属性。我该怎么做呢?我是否必须创建一个新对象来保存这些值并为其设置自定义属性?

1 个答案:

答案 0 :(得分:1)

您应该将它们定义为属性。这应该有效:

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));