示例#1
0
        /* public MetadataSet metadataSetFromFile()
        {
            MetadataSet metadataSet = new MetadataSet();
            docXml.Load("C:/Documents and Settings/depascalis/Impostazioni locali/Dati applicazioni/IsolatedStorage/metadataSet.xml");
            return parser(docXml, metadataSet);
        }*/
        public MetadataSet parser(ProcessMetadataSet mtdSet)
        {
            MetadataSet metadataSet = new MetadataSet();
            try
            {

               // XmlNodeList elemList = doc.GetElementsByTagName("CompoundMetadata");
                ProcessCompoundMetadata[] elemList = mtdSet.cmpMetadataList;
                for (int i = 0; i < elemList.Length; i++)
                {
                    CompoundMetadata cmpMetadata = new CompoundMetadata();
                    cmpMetadata.setKey(elemList[i].key);
                    cmpMetadata.setDescription(elemList[i].description);
                   // metadataSet.cmpMetadataList.Add(cmpMetadata);
                    ProcessMetadata[] elementListMetadata = elemList[i].metadataList;
                    //XmlNodeList elementListMetadata = elemList[i].ChildNodes;
                    for (int j = 0; j < elementListMetadata.Length; j++)
                    {
                        Metadata metadata = new Metadata();
                        metadata.setKey(elementListMetadata[j].key);
                        metadata.setDescription(elementListMetadata[j].description);
                        //cmpMetadata.metadataList.Add(metadata);
                        ProcessValue[] elementListValue = elementListMetadata[j].valueList;
                        for (int k = 0; k < elementListValue.Length; k++)
                        {
                            Value value = new Value();
                            value.setValue(elementListValue[k].value);
                            value.setDescription(elementListValue[k].description);
                            value.setState(elementListValue[k].zidState);
                            ProcessExtraData[] elementExtraData = elementListValue[k].listProcessExtraData;
                            if (elementExtraData != null)
                            {
                                SimpleExtraDataManager simpleExtraData = new SimpleExtraDataManager();
                                simpleExtraData.setKey(elementExtraData[0].key);
                                simpleExtraData.setValue(elementExtraData[0].value);
                                value.listExtraData.Add(simpleExtraData);
                            }
                            metadata.valueList.Add(value);

                        }
                       cmpMetadata.metadataList.Add(metadata);
                    }
                    metadataSet.cmpMetadataList.Add(cmpMetadata);
                }
                /*XmlNodeList elemRuleSet = doc.GetElementsByTagName("RuleSet");
                RuleSet ruleSet = new RuleSet();
                for (int i = 0; i < elemRuleSet.Count; i++)
                {
                    XmlNodeList elemRule = elemRuleSet[i].ChildNodes;
                    for (int j = 0; j < elemRule.Count; j++)
                    {
                        Rule rule = new Rule();
                        rule.setkey(elemRule[j].Attributes["Key"].Value);
                        rule.setValue(elemRule[j].Attributes["Value"].Value);
                        ruleSet.ruleList.Add(rule);
                    }
                    mtdSet.ruleSetList.Add(ruleSet);
                }*/

                return metadataSet;
            }
            catch (System.Exception ex)
            {
                XmlException myEx = new XmlException("Errore nell'interpretazione del messaggio");
                throw myEx;
            }
        }
示例#2
0
 public MetadataSet metadataSetXml(ProcessMetadataSet metadataXml)
 {
     return parser(metadataXml);
 }