我希望找到一种简单的方法,将一个充满元素的XML文件反序列化为具有属性的类,特别是在元素的属性"name"上附加属性。例如,我有一个给定的XML文件格式:
<?xml version="1.0" encoding="utf-8"?>
<settings>
<setting name="number_val_one">1</setting>
<setting name="string_val_one">test</setting>
<setting name="number_val_two">42</setting>
<setting name="string_val_two">hello world</setting>
</settings>
我想知道是否有一种简单的方法将其反序列化为与以下格式类似的类:
public class SomeObject
{
[XmlElement("number_value_one")]
public Int32 NumberValueOne { get; set; }
[XmlElement("number_value_two")]
public Int32 NumberValueTwo { get; set; }
[XmlElement("string_value_one")]
public String StringValueOne { get; set; }
[XmlElement("string_value_two")]
public String StringValueTwo { get; set; }
}
我知道这种格式不是最适合序列化和其他操作的,但是在这个项目中我无法改变文件的格式。目前,我需要手动读取每个元素的值,这需要大量的代码,并且相当混乱。为了将其序列化回XML,我使用反射来绕过手动写入每个元素的需求。但是我想知道是否有一种简单的方法来处理这种格式。
然而,并非所有元素都是字符串/整数,有些是自定义类型,在读取后需要进行解析等。