아래 양식 HTML에서 <br>
다음에 두 번째 입력 노드 집합을 추출하려면 어떻게합니까?
다음을 시도 할 때 입력 노드가 없습니다.
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>
문서를로드하기 전에 HtmlNode.ElementsFlags.Remove("form")
를 호출 하십시오. 다음은 잘 작동합니다.
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();
}