コード例 #1
0
        private void FindAllNodes(XNode node)
        {
            if (node == null)
            {
                return;
            }
            //Console.WriteLine(node.);
            if (node.NodeType == System.Xml.XmlNodeType.Element)
            {
                var element = node as XElement;
                if (element == null)
                {
                    return;
                }
                var firstNode = element.FirstNode as XElement;
                if (firstNode == null)
                {
                    FindAllNodes(element.NextNode);
                    return;
                }

                if (firstNode.Name.LocalName == "parameterDefinition")
                {
                    JobProperty field = new JobProperty();
                    FindAllNodes(firstNode, ref field);
                }
                else
                {
                    FindAllNodes(element.NextNode);
                }
            }
        }
コード例 #2
0
        private void FindAllNodes(XNode node, ref JobProperty field)
        {
            if (node == null)
            {
                return;
            }

            var element   = node as XElement;
            var firstNode = element?.FirstNode as XElement;

            if (firstNode == null)
            {
                return;
            }

            var value = firstNode?.Value;

            if (firstNode.Name.LocalName.ToLowerInvariant().Contains("name"))
            {
                field.Key = value;
            }
            else if (firstNode.Name.LocalName.ToLowerInvariant().Contains("value"))
            {
                if (field.Value == value)
                {
                    field.FieldType = element.FirstAttribute.Value.ToString();
                    FillField(element.NextNode, ref field);
                    FillField(element.NextNode.NextNode, ref field);
                    fields.Add(field);
                    field = new JobProperty();
                    FindAllNodes(element.Parent.NextNode, ref field);
                    return;
                }
                else
                {
                    field.Value = value;
                }
            }

            FindAllNodes(firstNode, ref field);
        }
コード例 #3
0
        private void FillField(XNode node, ref JobProperty field)
        {
            if (node == null)
            {
                return;
            }

            var element = node as XElement;

            if (element.Name.LocalName.ToLowerInvariant().Contains("name"))
            {
                field.Key = element.Value;
            }
            else if (element.Name.LocalName.ToLowerInvariant().Contains("value"))
            {
                field.Value = element.Value;
            }
            else if (element.Name.LocalName.ToLowerInvariant().Contains("description"))
            {
                field.Description = element.Value;
            }
        }