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);
Remember that you would have to have a Class that corresponds to the XML you want to de-serialized. (aka turn into an object).
Your class would look something like this:
[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;}
}