How can I extract the second set of input nodes after <br>
from the form HTML below?
When I try the following, I get no input nodes.
HtmlNode.ElementsFlags.Remove("form");
HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
foreach (HtmlNode innode in formNode.Elements("input"))
{
...
}
HTML
<form>
<div>
<input type="submit" value="subv1" name="subn1">
</div>
<script></script>
<table></table>
<table></table>
<br>
<input type="hidden" value="v1" name="n1">
<input type="hidden" value="v2" name="n2">
<input type="submit" value="subv2" name="subn2">
</form>
Call HtmlNode.ElementsFlags.Remove("form")
before you load the document. The following works fine:
public static void Main()
{
HtmlNode.ElementsFlags.Remove("form");
var doc = new HtmlDocument();
doc.Load("HtmlPage1.html");
HtmlNode formNode = doc.DocumentNode.SelectNodes("//form")[0];
foreach (HtmlNode innode in formNode.Elements("input"))
{
Console.WriteLine(innode.OuterHtml);
}
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
}