Powershell 2.0-使用HtmlAgilityPack获取表单元素的子级

Powershell 2.0-使用HtmlAgilityPack获取表单元素的子级,html,powershell,html-parsing,html-agility-pack,Html,Powershell,Html Parsing,Html Agility Pack,主要问题源于HtmlAgiltyPack默认情况下不会从元素中获取子节点这一事实。有关更多信息,请参阅 问题是,该链接显示了如何在C中修复该问题,但我需要在PowerShell中修复它。有什么想法吗 我将简化我的HTML 现在我看到当我选择元素时,我没有得到任何子元素,因此我不能选择元素 添加类型-路径C:\Program Files x86\HtmlAgilityPack\HtmlAgilityPack.dll $HTMLDocument=新对象HtmlAgilityPack.HTMLDocu

主要问题源于HtmlAgiltyPack默认情况下不会从元素中获取子节点这一事实。有关更多信息,请参阅

问题是,该链接显示了如何在C中修复该问题,但我需要在PowerShell中修复它。有什么想法吗

我将简化我的HTML

现在我看到当我选择元素时,我没有得到任何子元素,因此我不能选择元素

添加类型-路径C:\Program Files x86\HtmlAgilityPack\HtmlAgilityPack.dll $HTMLDocument=新对象HtmlAgilityPack.HTMLDocument $HTMLDocument.LoadC:\users\smithj\Desktop\test2.html $inputNodes=$HTMLDocument.DocumentNode.SelectNodes//form $inputNodes 输出缩短以显示重要位。。。 子节点:{} HasChildNodes:False 可以看到HasChildNodes等于false

从我提供的C链接中,我不知何故需要运行HtmlNode.ElementsFlags.Removeform;但我不知道在PowerShell中键入什么才是等效的

再次感谢

编辑 感谢har07为我指明了正确的方向。[HtmlAgilityPack.HtmlNode]::ElementsFlags.Removeform是我需要运行的

请注意,我需要在加载HTML之前运行该命令

>添加类型-路径。\Net40\HtmlAgilityPack.dll >[HtmlAgilityPack.HtmlNode]::ElementsFlags.Removeform 符合事实的 > >$HTMLDocument=新对象HtmlAgilityPack.HTMLDocument >$HTMLDocument.Load.\file.html >$HTMLDocument.DocumentNode.SelectNodes//form 输出缩短以显示重要位。。。 子节点:{text,div,text,input…} HasChildNodes:对 外层TML:
事实上,我不是PowerShell的用户,但根据,您可能希望尝试以下内容:

[HtmlAgilityPack.HtmlNode.ElementsFlags]::Remove("form")

谢谢,这很有帮助。看起来[HtmlAgilityPack.HtmlNode]没有ElementsFlags成员,所以调用它不起作用。啊,我没有查看[HtmlAgilityPack.HtmlNode]的静态成员。一旦我查看了静态成员,我就能够了解如何正确设置命令的格式。这是最终的赢家。再次感谢![HtmlAgilityPack.HtmlNode]::ElementsFlags.Removeform