0

我正在尝试使用 HtmlAgility 解析 HTMLNode 的所有子节点,其中子节点不是 vb.net 中的隐藏输入。

使用以下代码:

    If node.InnerHtml.Length > 10000 Then
                'Parse the current node's child nodes
                For Each child As HtmlNode In node.ChildNodes _
                                                  .Where(Function(c) c.NodeType <> HtmlNodeType.Text _
                                                             AndAlso c.NodeType <> HtmlNodeType.Comment _
                                                             AndAlso c.Name <> "script" _
                                                             AndAlso c.GetAttributeValue("type", "no").ToString() IsNot "hidden")
                    RecursiveHtmlParse(child)
                Next
End If

不幸的是,隐藏的输入子节点仍在被解析。我已经尝试了几个小时,但无法让 foreach 跳过它们。

任何帮助将不胜感激。

提前致谢!!

4

1 回答 1

1

VB.NET 中的IsandIsNot运算符检查引用是否相等。包含相同值的两个字符串实际上可能引用内存中的不同对象。

试试这个:

AndAlso c.GetAttributeValue("type", "no") <> "hidden"

或这个

AndAlso Not c.GetAttributeValue("type", "no").Equals("hidden")
于 2013-09-25T21:53:43.543 回答