Geçen gece benzer bir soru, ben kaynak HTML düzenlemek için erişiminiz yok ve ben karşı ürün fiyat / karşılaştırmalar yapmak için bir web sitesinden çok veri ayrıştırmak için çalışıyorum. Çoğunlukla, çalışıyor ama şimdi benim spagetti kod okumak için daha hızlı ve daha kolay, daha verimli hale getirmek için çalışıyorum.
Ben aşağıdaki test kodu var; ve ne yapmak isteyen am sadece içerik için niteliğini (örn. thisiswhatiwant) if ProductType için nodeValue stoklar ve başka bir şey değildir dönmek değildir.
<div id="productListing">
<div class="productDetail">
<span class="productType">Stocked</span>: <span class="productStock"><span class='productContent' content='thisiswhatiwant'></span></span>
</div>
<div class="productDetail">
<span class="productType">Non-stocked</span>: <span class="productStock"><span class='productContent' content='xyz'></span></span>
</div>
…
<div class="productDetail">
<span class="productType">Non-stocked</span>: <span class="productStock"><span class='productContent' content='123'></span></span>
</div>
</div>
Bu ben böyle çok var XPath sorgu, ama ben de beynimde hayati bir şey ya da bir şey henüz vitese tıklandığında değil eksik.
//div[@id="productListing"]/div[@class="productDetail"]/span[@class="productStock"]/preceding-sibling::span[text()="Stocked"]
Temelde, ne ben yukarıdaki test koddan çıkış istiyorum:
<?
echo "Output: " . $dom->getAttribute('content');
?>
Output: thisiswhatiwant
Herkes herhangi bir fikir var mı?