Here's the XML code I'm working with:
<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>
Then I wrote a simple code to practice working with 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; } ?>
That code is working well, outputting all the lemonade price values as expected. Now when i change the query string to select only the elements with an attribute set to a certain value, like
//lemonade[supplier="mother"]/price
or
//lemonade[id="1"]/price
it won't work, no output at all. What am i doing wrong?