public bool Parse(XmlNode node)
        {
            bool result = true;

            foreach (XmlNode childNode in node.ChildNodes)
            {
                if (childNode.Name == "paramIDRef")
                {
                    var paramIdRef = new XddParamIdRef();

                    if (!paramIdRef.Parse(childNode))
                    {
                        result = false;
                        break;
                    }

                    ParamIdRef = paramIdRef;
                }
                else if (childNode.Name == "valueEntry")
                {
                    var valueEntry = new XddValueEntry();

                    if (!valueEntry.Parse(childNode))
                    {
                        result = false;
                        break;
                    }

                    ValueEntry = valueEntry;
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public bool Parse(XmlNode node)
        {
            bool result = true;

            try
            {
                var uniqueIdAttribute = node.Attributes?["uniqueID"];

                if (uniqueIdAttribute != null)
                {
                    UniqueId = uniqueIdAttribute.InnerXml;
                }

                foreach (XmlNode childNode in node.ChildNodes)
                {
                    if (childNode.Name == "range")
                    {
                        var range = new XddRange();

                        if (!range.Parse(childNode))
                        {
                            result = false;
                            break;
                        }

                        Range = range;
                    }
                    else if (childNode.Name == "enumEntryIDRef")
                    {
                        var uniqueIdRefAttribute = childNode.Attributes?["uniqueIDRef"];

                        if (uniqueIdRefAttribute != null)
                        {
                            var uniqueIdRef = uniqueIdRefAttribute.InnerXml;
                            var enumEntry   = _dataTypeList.FindReferenceEnumEntry(uniqueIdRef);

                            if (enumEntry == null)
                            {
                                result = false;
                                break;
                            }

                            EnumEntries.Add(enumEntry);
                        }
                    }
                    else if (childNode.Name == "valueEntry")
                    {
                        var valueEntry = new XddValueEntry();

                        if (!valueEntry.Parse(childNode))
                        {
                            result = false;
                            break;
                        }

                        ValueEntries.Add(valueEntry);
                    }
                }
            }
            catch (Exception e)
            {
                result = false;
                Console.WriteLine(e);
            }

            return(result);
        }