2010-09-15 137 views
0

我想馬赫(在實際情況下,我使用的DomDocument PHP)內的鏈接:XPath表達式問題

案例:

<div class="d1"> 
    <span class="s1"> 
    <a class="myclass">my link</a> 
    </span> 
</div> 

我的解決方案失敗:

'//div[@class="d1"]/span[@class="s1"]/a[@class="myclass"]' 

我應該在xpath表達式中更改哪些內容?

編輯: 在實際情況下,我有中間的div之前跨度也其他標籤。 洙我解決這個問題由加載/ SPAN前:

'//div[@class="d1"]//span[@class="s1"]/a[@class="myclass"]' 

感謝

+0

這XPath是對我工作的罰款。 – Gordon 2010-09-15 19:01:22

回答

1

您的XPath似乎是正確的。可能你試圖查詢一個XHTML文檔?然後,你必須介意XHTML namepace:

// 1. registerXPathNamespace xhtml with your tool 
// 2. query: 
'//xhtml:div[@class="d1"]/xhtml:span[@class="s1"]/xhtml:a[@class="myclass"]' 

只是一個想法...

1

你能嘗試

「//div[./@class="d1"]/span[./ @類= 「S1」]/A [./@類= 「MyClass的」]」

此外,使用已給出的示例將

//a[./@class="myclass「]

不夠嗎?