我在使用HtmlAgilityPack的XPath選擇方面遇到了很多麻煩。使用HtmlAgilityPack計算特定的子節點
我想選擇所有li
元素(如果存在的話)嵌套在另一個li
女巫有a
標籤與id="menuItem2"
。 這是HTML樣本:
<div id="menu">
<ul>
<li><a id="menuItem1"></a></li>
<li><a id="menuItem2"></a>
<ul>
<li><a id="menuSubItem1"></a></li>
<li><a id="menuSubItem2"></a></li>
</ul>
</li>
<li><a id="menuItem3"></a></li>
</ul>
</div>
這是我被使用XPath。當我失去這部分/ul/li
時,它會得到我想要的a
標記,但我需要他的後代...此XPath始終返回空值。
string xpathExp = "//a[@id='" + parentIdHtml + "']/ul/li";
HtmlNodeCollection liNodes = htmlDoc.DocumentNode.SelectNodes(xpathExp);
在這種情況下,我會說使用LINQ這裏是非常混亂。我發現使用XPath比寫出LINQ查詢要好得多,尤其是在複雜的情況下。 –
你投票給我,因爲你認爲XPath更清晰謝謝Linq?尤其*當它很複雜時?大聲笑... –
我沒有倒下你......我也沒有看到這樣做的理由。這是一個很好的答案,我沒有問題。在你投降之前,我很好地評論了這個評論。讓你的事實直LOL ... –