/// <summary> /// Create a new FormElement object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="formId">Initial value of the FormId property.</param> public static FormElement CreateFormElement(global::System.Int32 id, global::System.Int32 formId) { FormElement formElement = new FormElement(); formElement.Id = id; formElement.FormId = formId; return formElement; }
/// <summary> /// Deprecated Method for adding a new object to the FormElements EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToFormElements(FormElement formElement) { base.AddObject("FormElements", formElement); }
private Form[] ExtractForms(Webpage page) { CrawlAnnounceItem item = new CrawlAnnounceItem(page, CrawlStatus.ExtractingFormsStarted, null, DateTime.Now, _sharedResource); OnCrawlAnnounced(item); List<Form> _formLst = new List<Form>(); HtmlNode.ElementsFlags.Remove("form"); HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(page.Html); HtmlNode root = htmlDocument.DocumentNode; foreach (HtmlNode formNode in root.Descendants("form")) { Form form = new Form(); HtmlAttribute att = formNode.Attributes["action"]; string uri = (att == null || att.Value == "" || att.Value.StartsWith("#") ? page.Url : att.Value); if (Uri.IsWellFormedUriString(uri, UriKind.Absolute)) form.Action = uri; else if (Uri.IsWellFormedUriString(uri, UriKind.Relative)) form.Action = UnifyUri(page, uri); form.Method = formNode.Attributes["method"].Value; if (form.Action != null) { foreach (HtmlNode inputNode in formNode.Descendants("input")) { FormElement element = new FormElement(); if (inputNode.Attributes.Any(a => a.Name == "name")) element.Name = inputNode.Attributes["name"].Value; else element.Name = ""; if (inputNode.Attributes.Any(a => a.Name == "value")) element.Value = inputNode.Attributes["value"].Value; else element.Value = ""; element.Type = inputNode.Attributes["type"].Value; form.FormElements.Add(element); } _formLst.Add(form); } } _sharedResource.AddTotalFormsFound(_formLst.Count); item = new CrawlAnnounceItem(page, CrawlStatus.ExtractingFormsFinished, string.Format("این صفحه دارای {0} فرم می باشد.", _formLst.Count), DateTime.Now, _sharedResource); OnCrawlAnnounced(item); return _formLst.ToArray(); }