C#XML反序列化XmlAttribute

时间:2013-05-30 08:28:17

标签: c# xml deserialization xml-attribute

2我们说我有这个阵列:

<something>
    <items1 note="some text">
        <item1></item1>
        <item1></item1>
        <item1></item1>
    </items1>
    <items2>
        <item2></item2>
        <item2></item2>
        <item2></item2>
    </items2>
</something>

我有一个模特:

public class Something
{
    public string Item1Note { get; set; }
    public List<Item1> Items1 { get; set; }
    public List<Item2> Items2 { get; set; }
}

那么,是否可以将XML反序列化到模型中,以便Items1节点的属性注释位于属性Item1Note中。 Thx提前。

编辑:我知道该笔记是Items1的属性,但我没有这样的课程。

2 个答案:

答案 0 :(得分:2)

该xml的类将是

public class Items1
{
    [XmlAttribute]
    public string note { get; set; }
    [XmlElement]
    public List<item1> item1 { get; set; }
}

public class Item2
{
    [XmlElement]
    public List<item2> item2 { get; set; }
}

[XmlRootAttribute("Something", Namespace="", IsNullable=false)]
public class Something
{
   [XmlElement]
    public Items1 items1 { get; set; }
    [XmlElement]
    public Item2 item2 { get; set; }
}


Something objSomething = this.Something();

ObjectXMLSerializer<Something>.Save(objSomething, FILE_NAME);

Loading the xml

objSomething = ObjectXMLSerializer<Something>.Load(FILE_NAME);

答案 1 :(得分:0)

您可以创建自己的解析器,然后将其另存为对象。 http://msdn.microsoft.com/en-us/library/cc189056%28v=vs.95%29.aspx