Dưới đây là các mã XML Tôi đang làm việc với:XPath truy vấn với PHP
<inventory>
<drink>
<lemonade supplier="mother" id="1">
<price>$2.50</price>
<amount>20</amount>
</lemonade>
<lemonade supplier="mike" id="4">
<price>$3.00</price>
<amount>20</amount>
</lemonade>
<pop supplier="store" id="2">
<price>$1.50</price>
<amount>10</amount>
</pop>
</drink>
</inventory>
Sau đó, tôi đã viết một mã đơn giản để thực hành làm việc với XPath:
<?php
$xmldoc = new DOMDocument();
$xmldoc->load('sample.xml');
$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//lemonade/price');
foreach($queryResult as $result) {
echo $result->textContent;
}
?>
Đó là mã đang làm việc tốt, xuất ra tất cả giá trị của nước chanh như mong đợi. Bây giờ khi tôi thay đổi chuỗi truy vấn để chỉ chọn các yếu tố với một thuộc tính thiết lập một giá trị nhất định, như
// nước chanh [nhà cung cấp = "mẹ"]/giá
hoặc
// nước chanh [id = "1"]/giá
nó sẽ không làm việc, không có đầu ra ở tất cả. Tôi đang làm gì sai?