2011-01-19 85 views

回答

2

首先,您的標記似乎已損壞。一旦你解決這個問題是這樣的:

<div id="foobootoo"></div> 
<div id="foowoohoo"></div> 
<div id="foodoowoo"></div> 
<div id="soobootoo"></div> 

如果你使用這個XPath將只得到第一個三個節點://div[contains(@id, 'foo')]

1

如果你想選擇多個元素,只需給元素相同的類。

<div id="foobootoo" class="foo"><div> 
<div id="foowoohoo" class="foo"><div> 
<div id="foodoowoo" class="foo"><div> 
<div id="soobootoo" class="foo"><div> 
1

你嘗試類似...

$result = $xml->xpath("div[contains(@id,'foo')]"); 
0

着眼於CSS3選擇器(例如,看到這個Web page)。您可以使用以下的選擇:

div[id*="foo"] 

,你會選擇所有包含在ID字符串「foo」的div。

不過,如果你希望只以「富」開頭的ID的div,使用

div[id^="foo"] 

如果你重新排列的div的ID如下:

<div id="foo-bootoo"><div> 
<div id="foo-woohoo"><div> 
<div id="foo-doowoo"><div> 
<div id="soo-bootoo"><div> 

可以使用方法:

div[id|="foo"] 

選擇所有其ID以foo開始和ID的其餘部分由一個連字符分隔的div(因此,僅前三)。

而且,如果你重新排列你的div的ID如下(即,通過將字符串 「foo」 的ID結束):

<div id="bootoofoo"><div> 
<div id="woohoofoo"><div> 
<div id="doowoofoo"><div> 
<div id="bootoosoo"><div> 

你可以使用:

div[id$="foo"] 

選擇所有以id結尾的div(即只有前三個)。

值得一提的是,還有其他選擇器,但這些選擇器似乎是符合您需求的選擇器。

相關問題