PHP & MySQL® Web Development All-in-One Desk Reference for Dummies®
by Janet Valade, Tricia Ballad, Bill Ballad
3.4. Searching XML Documents with XPath
XPath is a utility that gives you the ability to pull individual nodes out of an XML document without having to slog through the whole document tree. For example, say you had the following XML document:
<?xml version="1.0" encoding="utf-8"?> <library> <book> <title = "XML For Dummies, 4th Edition" /> <author = "Lucinda Dykes" /> <author = "Ed Tittel" /> <ISBN = "9780764588457" /> </book> <book> <title = "PHP & MySQL For Dummies, 3rd Edition" /> <author = "Janet Valade" /> <ISBN = "9780470096000 /> </book> <book> <title = "Database Development For Dummies" /> <author = "Allen G. Taylor" /> <ISBN = "9780764507526" /> </book> <book> <title = "XML for Non Programmers" /> <author = "Joe P. Writerly" /> <ISBN = "1234567890123" /> </book> </library> </xml>
If you need to pull out the title of every book by Janet Valade, you could loop through each book and compare the author element to the string "Janet Valade". This method would be fairly slow, and you, the developer, would have to put in extra effort. Nobody wants that!
Rather than reinvent this particular wheel, use XPath to find exactly the information you need. Use XPath to find out how many books in the library were written by Janet Valade by following these steps:
Create a domXPath object:
$xpath = new domXPath($dom_object);
Execute an XPath query on the object, which returns an array of results:
$authors = $xpath->query("/library/book/author");Loop through the array to find the exact results ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access