Exemple #1
0
        public override void Extract(object sender, Events.ExtractionEventArgs e)
        {
            base.Extract(sender, e);

            IEnumerable <XElement> elements       = base.Document.Document.Descendants();
            IEnumerable <XElement> hiddenElements = from el in elements where el.Name.LocalName.Equals("input") && el.Attribute(XName.Get("type")).Value.Equals("hidden") select el;

            foreach (XElement nextElement in hiddenElements)
            {
                string name  = String.Empty;
                string value = String.Empty;

                if (nextElement.HasAttributes && nextElement.Attribute(XName.Get("name")) != null)
                {
                    name = nextElement.Attribute(XName.Get("name")).Value;

                    if (nextElement.Attribute(XName.Get("value")) != null)
                    {
                        value = nextElement.Attribute(XName.Get("value")).Value;
                    }

                    base._context[name] = value;
                }
            }
        }
        public override void Extract(object sender, Events.ExtractionEventArgs e)
        {
            if (String.IsNullOrEmpty(_elementName))
            {
                throw new ArgumentNullException("Element name may not be null.");
            }

            base.Extract(sender, e);

            IEnumerable <XElement> elements         = base.Document.Document.Descendants();
            IEnumerable <XElement> selectedElements = from el in elements where el.Name.LocalName.Equals(_elementName) select el;
            int elementIndex = 0;

            foreach (XElement nextElement in selectedElements)
            {
                base._context[String.Format("{0}{1}", _elementName, elementIndex)] = nextElement;

                elementIndex++;
            }
        }