如何反序列化XML属性

问题描述:

我可以创建一个对象来保存反序列化的xml文件。将Xml元素映射到对象很容易,我只是在匹配元素名称的类中创建属性。但是,我怎样才能将Xml属性映射到类。举例来说,如果我有这样的:如何反序列化XML属性

<Typestyle name="" location="" />

我要反序列化的名称和位置属性为我的类属性?

为什么不使用.NET Framework SDK中的xsd.exe工具来创建一个表示模式C#类代码。然后将这些类添加到您的项目中,并且可以将XmlSerializer与这些类一起使用,而无需亲自编写类代码。

试试这个http://msdn.microsoft.com/en-us/library/x6c1kb0s.aspx

+0

如果XSD的模式不存在呢? –

+0

xsd.exe工具还可以从格式良好的XML中推断(创建)XML模式文档。 – Bobby

+0

在复杂情况下,您需要手动编辑生成的模式。 –

请看XmlAttributeAttribute班。

public class TypeStyle 
{ 
    [XmlAttribute("name")] 
    public string Name { get; set; } 

    [XmlAttribute("location")] 
    public string Location{ get; set; } 
} 
+0

这是一个奇怪的类名,是:) – Zruty

public class Typestyle 
{ 
    [XmlAttribute] 
    public string name { get; set; } 
    [XmlAttribute] 
    public string location { get; set; } 
}