Example #1
0
 internal static void ParseIlmd(XElement element, EpcisEvent epcisEvent)
 {
     foreach (var children in element.Elements())
     {
         epcisEvent.CustomFields.Add(XmlCustomFieldParser.ParseCustomField(children, FieldType.Ilmd));
     }
 }
Example #2
0
 private EpcisRequestHeader ParseHeader(XElement root)
 {
     return(new EpcisRequestHeader
     {
         StandardBusinessHeader = XmlHeaderParser.Parse(root.XPathSelectElement("EPCISHeader/sbdh:StandardBusinessDocumentHeader", EpcisNamespaces.Manager)),
         DocumentTime = DateTime.Parse(root.Attribute("creationDate").Value, CultureInfo.InvariantCulture),
         SchemaVersion = root.Attribute("schemaVersion").Value,
         CustomFields = XmlCustomFieldParser.ParseCustomFields(root.XPathSelectElement("EPCISHeader"), FieldType.HeaderExtension)
     });
 }
Example #3
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));
     }
 }
Example #4
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);
        }