diff --git a/MTC_Adapter/SCMA/AdapterGeneric.cs b/MTC_Adapter/SCMA/AdapterGeneric.cs index 0a1552a..b58dd8b 100644 --- a/MTC_Adapter/SCMA/AdapterGeneric.cs +++ b/MTC_Adapter/SCMA/AdapterGeneric.cs @@ -1539,7 +1539,20 @@ namespace SCMA // !!!FARE!!! #endif + // test deserializzazione nuova... +#if false var currMachine = ModelDesign.Deserialize(fileName); +#endif + + string testFile = string.Format(@"{0}\TestData.xml", utils.confDir); + + using (var sr = new StreamReader(testFile)) + { + var xs = new XmlSerializer(typeof(CompXML)); + var responseData = (CompXML)xs.Deserialize(sr); + Console.WriteLine("Got {0} channel resources", responseData.modules.channel.resources.Count); + } + // pre-processo datamodel... currGateway.DataModel = xmlSanitize(rawDataModel); diff --git a/MTC_Adapter/SCMA/CompXML.cs b/MTC_Adapter/SCMA/CompXML.cs new file mode 100644 index 0000000..68d7cfe --- /dev/null +++ b/MTC_Adapter/SCMA/CompXML.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace SCMA +{ + [Serializable] + [XmlRoot("response")] + public class CompXML + { + [XmlElement("modules")] + public Modules modules { get; set; } + } + + [Serializable] + public class Modules + { + [XmlElement] + public Channel channel { get; set; } + [XmlElement] + public Image image { get; set; } + } + [Serializable] + public class Image + { + [XmlArray("resources")] + [XmlArrayItem("resource")] + public List resources { get; set; } + + } + + [Serializable] + public class Channel + { + [XmlArray("resources")] + [XmlArrayItem("resource")] + public List resources { get; set; } + } + + [Serializable] + public class Resources + { + [XmlAttribute] + public string name { get; set; } + + [XmlAttribute] + public string url { get; set; } + + [XmlAttribute] + public string refresh_interval { get; set; } + + [XmlText] + public string someText { get; set; } + } +} diff --git a/MTC_Adapter/SCMA/DATA/CONF/TestData.xml b/MTC_Adapter/SCMA/DATA/CONF/TestData.xml new file mode 100644 index 0000000..22c084a --- /dev/null +++ b/MTC_Adapter/SCMA/DATA/CONF/TestData.xml @@ -0,0 +1,11 @@ + + + + + ... text ... + ..text.. + ... text ... + + + + \ No newline at end of file diff --git a/MTC_Adapter/SCMA/ModelDesignConf.cs b/MTC_Adapter/SCMA/ModelDesignConf.cs index 7a453f0..7ffb197 100644 --- a/MTC_Adapter/SCMA/ModelDesignConf.cs +++ b/MTC_Adapter/SCMA/ModelDesignConf.cs @@ -69,7 +69,7 @@ namespace SCMA public string ValueRank { get; set; } } - public class ouProperty : ouBaseObj + public class Property : ouBaseObj { [XmlAttribute("Value")] public string Value { get; set; } @@ -87,7 +87,7 @@ namespace SCMA [Serializable] public class cMachine { - public ouProperty Model { get; set; } + public Property Model { get; set; } } public cMachine Machine diff --git a/MTC_Adapter/SCMA/SCMA.csproj b/MTC_Adapter/SCMA/SCMA.csproj index f5c4608..c0cfddc 100644 --- a/MTC_Adapter/SCMA/SCMA.csproj +++ b/MTC_Adapter/SCMA/SCMA.csproj @@ -146,6 +146,7 @@ + Form @@ -165,6 +166,9 @@ Always + + Always + MainForm.cs