如何反序列化XML属性
问题描述:
我可以创建一个对象来保存反序列化的xml文件。将Xml元素映射到对象很容易,我只是在匹配元素名称的类中创建属性。但是,我怎样才能将Xml属性映射到类。举例来说,如果我有这样的:如何反序列化XML属性
<Typestyle name="" location="" />
我要反序列化的名称和位置属性为我的类属性?
答
为什么不使用.NET Framework SDK中的xsd.exe工具来创建一个表示模式C#类代码。然后将这些类添加到您的项目中,并且可以将XmlSerializer与这些类一起使用,而无需亲自编写类代码。
答
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; }
}
如果XSD的模式不存在呢? –
xsd.exe工具还可以从格式良好的XML中推断(创建)XML模式文档。 – Bobby
在复杂情况下,您需要手动编辑生成的模式。 –