public static IEnumerable <ISOGuidanceShift> ReadXML(XmlNodeList nodes)
        {
            List <ISOGuidanceShift> items = new List <ISOGuidanceShift>();

            foreach (XmlNode node in nodes)
            {
                items.Add(ISOGuidanceShift.ReadXML(node));
            }
            return(items);
        }
        public static ISOGuidanceShift ReadXML(XmlNode node)
        {
            ISOGuidanceShift item = new ISOGuidanceShift();

            item.GuidanceGroupIdRef   = node.GetXmlNodeValue("@A");
            item.GuidancePatternIdRef = node.GetXmlNodeValue("@B");
            item.GuidanceEastShift    = node.GetXmlNodeValueAsNullableInt("@C");
            item.GuidanceNorthShift   = node.GetXmlNodeValueAsNullableInt("@D");
            item.PropagationOffset    = node.GetXmlNodeValueAsNullableInt("@E");
            item.AllocationStamp      = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));
            return(item);
        }
        public static ISOGuidanceAllocation ReadXML(XmlNode node)
        {
            ISOGuidanceAllocation item = new ISOGuidanceAllocation();

            item.GuidanceGroupIdRef = node.GetXmlNodeValue("@A");
            item.AllocationStamp    = ISOAllocationStamp.ReadXML(node.SelectSingleNode("ASP"));

            XmlNodeList gstNodes = node.SelectNodes("GST");

            if (gstNodes != null)
            {
                item.GuidanceShifts.AddRange(ISOGuidanceShift.ReadXML(gstNodes));
            }

            return(item);
        }