我想从这个html获取链接,标题和价格(这是10个结果的结果)
<div class="listing-item">
<div class="block item-title">
<h3 id="title">
<span style="direction: ltr" class="title">
<a xtcltype="S" xtclib="listing_list_1_title_link" href="http://dubai.dubizzle.com/motors/used-cars/ford/explorer/2013/7/1/ford-explorer-2012-new-model-expat-leaving-2/?back=ZHViYWkuZHViaXp6bGUuY29tL21vdG9ycy91c2VkLWNhcnMv&pos=1">FORD EXPLORER - 2012 - NEW MODEL - EXPAT LEAV...</a>
</span>
</h3>
<div class="price">
AED 118,000
<br>
</div>
</div>
</div>
这是我的代码
var allCarResults = rootNode.SelectNodes("//div[normalize-space(@class)='listing-item']");
foreach (var carResult in allCarResults)
{
var dataNode = carResult.SelectSingleNode(".//div[@class='block item-title']");
var carNameNode = dataNode.SelectSingleNode(".//h3/a");
string carName = carNameNode.InnerText.Trim();
}
这给我一个对象引用问题来获取carName。我在这里做错了什么?
答案 0 :(得分:2)
dataNode.SelectSingleNode(".//h3/a");
尝试直接在<a>
下的<h3>
下选择dataNode
个节点。
但是,在您的情况下,中间有一个<span>
。因此,请使用dataNode.SelectSingleNode(".//h3//a");
(请注意h3和a之间的//
),以便在<a>
以下的位置获得<h3>
个节点。