这是XML:
<xml id = "1234">
<connect id="2"/>
<connect id="1"/>
<connect id="21"/>
<connect id="3"/>
<connect id="7"/>
</xml>
目前我这样做:
public class xml
{
//Constructor
[XmlAttribute ("id")]
public uint id;
[XmlElement ("connect")]
public List<Connection> Connections { get; set; }
//Deserializer
}
public class Connection
{
[XmlAttribute ("id")]
public uint id { get; set; }
}
目标是完全摆脱Connection类并将xml直接反序列化为:
List<uint> connections;
答案 0 :(得分:1)
首先,您的XML无效,我猜它只是一个错字 - "connect"
没有结束标记。
我建议您使用linq XDocument
那很简单:
XDocument xdoc = XDocument.Parse(xml);
List<uint> list = xdoc
.Descendants("connect")
.Select(node => uint.Parse(node.Attribute("id").Value))
.ToList();