更新时间:2022-05-17 04:53:42
您将需要使用某种反序列化.这是我不久前实施的一个示例:
You will want to use some sort of de-serialization. Here is an example of one I implemented not too long ago:
public static class Serialization<T> where T : class
{
public static T DeserializeFromXmlFile(string fileName)
{
if (!File.Exists(fileName))
{
return null;
}
DataContractSerializer deserializer = new DataContractSerializer(typeof(T));
using (Stream stream = File.OpenRead(fileName))
{
return (T)deserializer.ReadObject(stream);
}
}
}
然后调用它你会做这样的事情:
Then to call it you would do something like this:
Serialization<YourCustomObject>.DeserializeFromXmlFile(yourFileNameOrPath);
请记住,您必须有一个与要反序列化的 XML 相对应的类.(也就是变成一个物体).
Remember that you would have to have a Class that corresponds to the XML you want to de-serialized. (aka turn into an object).
你的类看起来像这样:
[Serializable]
class parameter
{
[Datamember]
public string name {get; set;}
[Datamember]
public string label {get; set;}
[Datamember]
public string unit {get; set;}
[Datamember]
public component thisComponent {get; set;}
}
[Serializable]
class component
{
[Datamember]
public string type {get; set;}
[Datamember]
public List<attribute> attributes {get; set;}
}
[Serializable]
class attribute
{
[Datamember]
public string? type {get; set;}
[Datamember]
public string? displayed {get; set;}
[Datamember]
public string? add_remove {get; set;}
[Datamember]
public string? ccypair {get; set;}
[Datamember]
public List<int> item { get; set;}
}