簡體   English   中英

VB Agility Pack XPath根據另一個子節點值在父級中選擇子節點

[英]VB Agility Pack XPath select sub node in parent based on another sub nodes value

我有這樣的HTML DOM:

<div class="productcontainer">
    <div class="image jsThumbnailReplace">
        <a href="">
            <img src="/img/noimagemedium.jpg"/>
        </a>
    </div>
    <div class="productdata"
        <div class="descriptionsection">
            <div class="title">title</div>
        </div>
    </div>
</div>

我僅在圖像標簽中的源包含“ noimagemedium”時才選擇標題文本。 我將Visual Studio 2010與VB.Net和HTML Agility包一起使用來實現此目的。 調試器說XPath表達式無效。

我以為這個XPath應該可以,但是不起作用:

//div[@class='descriptionsection']/div[@class='title'][//div[@class='productcontainer']/div[contains(@class, 'image') and contains(@class, 'jsThumbnailReplace')]/a/img[contains(@src, 'noimagemedium')]]

顯然語法是錯誤的,但我無法弄清楚。 感謝您的幫助:)

我自己找到了解決方案。 關鍵在第一個“和”之后。 您不需要開括號,可以直接調用路徑。 需要注意的重要一點是,contains()不會搜索原始的節點文本,您必須指定文本或屬性。 有了這些知識,我就可以構建該XPath。

//div[@class='productcontainer' and div[1]/a/img[contains(@src, 'noimagemedium')]]/div[@class='descriptionsection']/div[@class='title']"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM