0

我想从此 html 中获取链接、标题和价格(这是十个结果中的一个)

 <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&amp;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();
        }

这给了我获取汽车名称的对象参考问题。我在这里犯了什么错误?

4

1 回答 1

2

dataNode.SelectSingleNode(".//h3/a");尝试直接在that下方选择一个<a>节点。<h3>dataNode

但是,在您的情况下,中间有一个<span>。所以使用dataNode.SelectSingleNode(".//h3//a");(注意//h3 和 a 之间)来获得一个<a>低于 a 的节点<h3>

于 2013-07-01T14:21:02.140 回答