假設你有類似嵌套的DOM XPath?
<div>
<p>...</p>
<p>There are an unbounded number of these p tags</p>
<p>etc etc...could be 4 of these one time, then 9 the next time</p>
</div>
<div>
<p>Same here, an unbounded number</p>
<p>etc</p>
</div>
<div>
<p>And so on...</p>
<p>...</p>
<p>...</p>
<p>...</p>
</div>
假設我想搶到第一P個節點出了第一個div的,第二個P個節點出了第二個div的,進出第三div的第三P個節點。現在,如果這是XML,我會使用的SimpleXMLElement和做類似
foreach ($data->xpath('//div') as $cur){
//Then work within each <div> that is returned, could even xpath this again if I needed to
}
但是,怎樣才能選擇每個單獨的DIV然後在每個工作,或做相當於在DOM的XPath?如果我是說
$query = $data->query('//div');
我會得到DOMElements的名單,據我知道不能在另一個DOM的XPath使用(現在如果可能,將工作我想),所以我不能窩XPath請求或至少我沒有得到任何結果,當我嘗試使用nodeValue/textValue並創建一個新的DOMDocument和DOMXPath。 nodeValue/textValue似乎具有全部標籤,這就是爲什麼我認爲它沒有返回任何結果。
現在我可以在這種情況下用'\ n'分隔並解析nodeValue,但想象在每個div中每種類型的子節點都有無限數量的情況下,我們正在尋找一些說5級的東西。那會變成一個巨大的醜陋混亂。
基本上,SimpleXMLElement-> xpath保留了文檔結構,而DOM DOM似乎沒有出現。
那麼,有沒有一個很好的一般方法來做到這一點?
哦,HEMM,不知道爲什麼沒有早點工作時,我嘗試了,但感謝!一定是打錯了〜〜〜。 –
不客氣。 –