2011-04-05 35 views
0

如何用HtmlAgilityPack檢查null?我得到「屬性或索引器」HtmlAgilityPack.HtmlNode.HasChildNodes'不能被分配給 - 它是隻讀的「與以下。用HtmlAgilityPack檢查爲空

if (Node.Element("TD").HasChildNodes = DBNull.Value) 

我「得到」對象引用未設置爲對象的實例。 「與

if (Node.Element("TD").HasChildNodes) 

回答

1

首先,=運算符是賦值運算符,而不是比較操作符(==)。在你的第一個例子中,你要轉讓DBNull.ValueHasChildeNodes,只讀屬性,而不是把它比作一個值。

其次,你不考對DBNull.Value,而是針對nullDBNull.Value是測試使用ADO.NET數據庫返回的項目值時使用。對於所有其他情況下,你應該使用null

因此,測試應該是:

if (Node.Element("TD").HasChildNodes == null) 
+0

,也許這是'=',因爲它是vb.net? – 2011-04-05 19:25:38

+0

@Bala - 用'if()'而不用'Then'? – Oded 2011-04-05 19:26:20

+0

嗨我試過如果(Node.Element(「TD」)。HasChildNodes == null),我得到「表達式的結果總是'假',因爲'bool'類型的值永遠不等於'null ''bool' – n3wb13 2011-04-05 19:26:56