Esempio n. 1
0
 internal static void ParseIlmd(XElement element, EpcisEvent epcisEvent)
 {
     foreach (var children in element.Elements())
     {
         epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(children, FieldType.Ilmd));
     }
 }
Esempio n. 2
0
 internal static void ParseExtensionElement(XElement innerElement, EpcisEvent epcisEvent)
 {
     if (innerElement.Name.Namespace == XNamespace.None || innerElement.Name.Namespace == XNamespace.Xmlns || innerElement.Name.NamespaceName == EpcisNamespaces.Capture)
     {
         epcisEvent = ParseAttributes(innerElement, epcisEvent);
     }
     else
     {
         epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(innerElement, FieldType.EventExtension));
     }
 }
Esempio n. 3
0
        internal static EpcisEvent ParseAttributes(XElement root, EpcisEvent epcisEvent)
        {
            foreach (var node in root.Elements())
            {
                if (node.Name.NamespaceName != XNamespace.None && node.Name.NamespaceName != XNamespace.Xmlns && node.Name.NamespaceName != EpcisNamespaces.Capture)
                {
                    epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(node, FieldType.CustomField));
                }
                else if (ParserMethods.TryGetValue(node.Name.LocalName, out Action <EpcisEvent, XElement> parserMethod))
                {
                    parserMethod(epcisEvent, node);
                }
                else
                {
                    epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(node, FieldType.EventExtension));
                }
            }

            return(epcisEvent);
        }