Có cách nào để thực hiện truy vấn xpath trên DOMNode không? Hoặc ít nhất là chuyển đổi nó thành DOMXPath?Làm cách nào để thực hiện truy vấn XPath trên DOMNode?
<html>
...
<div id="content">
...
<div class="listing">
...
<div></div>
<div></div>
<div class='foo'>
<h3>Get me 1</h3>
<a>and me too 1</a>
</div>
</div>
<div class="listing">
...
<div></div>
<div></div>
<div class='foo'>
<h3>Get me 2</h3>
<a>and me too 1</a>
</div>
</div>
....
</div>
</html>
Đây là mã của tôi. Tôi đang cố gắng để có được một danh sách các mảng có giá trị của h3 và một thẻ trong mỗi mảng. Để thực hiện điều đó, tôi cần có được mỗi danh sách và sau đó nhận giá trị h3 và thẻ trong mỗi danh sách.
$html_dom = new DOMDocument();
@$html_dom->loadHTML($html);
$x_path = new DOMXPath($html_dom);
$nodes= $x_path->query("//div[@id='content']//div[@class='listing']");
foreach ($nodes as $node)
{
// I want to further dig down here using query on a DOMNode
}
trong khi có thể truy vấn từ một nút cụ thể, bạn chỉ có thể truy vấn tất cả các div với lớp foo. Hoặc con div cuối cùng của danh sách và nhận được các giá trị ngay lập tức. – Gordon
Tôi đã suy nghĩ về việc nhận được danh sách đầu tiên và sau đó truy vấn các giá trị bên trong nó để tôi có thể đặt nó dễ dàng trong một mảng trong cấu trúc đó. Nhưng tôi đoán tôi có thể chỉ phù hợp với các chỉ số của các kết quả của h3 và nếu tôi muốn. – arvinsim