我完全不知道如何实现这样的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();
但我无法做的是添加这些自定义属性。我该怎么做呢?我是否必须创建一个新对象来保存这些值并为其设置自定义属性?
答案 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));