XPath
XPath is a W3C
standard (http://www.w3.org/TR/xpath) for locating
portions of an XML document that match a set of criteria. Use XPath
to find the names of all the people in your XML address book who live
in New York, all URLs for articles written on
PHP in a Meerkat RSS feed, or the most recent
entry into your XML-based content management system.
Think of XPath as SQL for XML documents. You can do all kinds of advanced queries using XPath, such as finding items with a certain parent, attribute, or location in the tree. XPath uses the same syntax as XSLT, so you might be familiar with parts of it, even if you’re not an XPath expert.
There are two parts to an XPath query: the portion of the XML
document you wish to retrieve and the restrictions you want to place
upon your query. This is analogous to SQL SELECT
and WHERE clauses.
For example, you can search the XML address book in Example A-1 for all the email addresses:
/address-book/person/email
Levels in an XML document are separated by
a /, similar to the separators for folders in a
directory path. When the query begins with a slash, it tells XPath to
start looking at the top-level element. Therefore,
/address-book/person/email means gather all the
email elements under a person
element under an address-book element.
This is like a SQL SELECT without a
WHERE. However, if you’re
planning a trip to Manhattan and just want to find all your friends
who live in New York, NY, use this:
/address-book/person[city = "New York" and state ...