<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2Fxpath</id>
		<title>PHP/XML/xpath - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=PHP%2FXML%2Fxpath"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/xpath&amp;action=history"/>
		<updated>2026-04-04T18:52:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/xpath&amp;diff=1578&amp;oldid=prev</id>
		<title> в 10:37, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/xpath&amp;diff=1578&amp;oldid=prev"/>
				<updated>2010-05-26T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 10:37, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=PHP/XML/xpath&amp;diff=1579&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=PHP/XML/xpath&amp;diff=1579&amp;oldid=prev"/>
				<updated>2010-05-26T07:08:22Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Combine it with an XPath search==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    $xml = simplexml_load_file(&amp;quot;employees.xml&amp;quot;);&lt;br /&gt;
    echo $xml-&amp;gt;asXML( );&lt;br /&gt;
    $xml-&amp;gt;employee[1]-&amp;gt;age = 55;&lt;br /&gt;
    $employees = $xml-&amp;gt;xpath(&amp;quot;/employees/employee[name=&amp;quot;A&amp;quot;]&amp;quot;);&lt;br /&gt;
    $employees[0]-&amp;gt;title = &amp;quot;Officer&amp;quot;;&lt;br /&gt;
    echo $xml-&amp;gt;asXML( );&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Searching and Filtering with XPath==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    $xml = simplexml_load_file(&amp;quot;employees.xml&amp;quot;);&lt;br /&gt;
    $names = $xml-&amp;gt;xpath(&amp;quot;/employees/employee/name&amp;quot;);&lt;br /&gt;
    foreach($names as $name) {&lt;br /&gt;
            echo &amp;quot;Found $name&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    echo &amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    $employees = $xml-&amp;gt;xpath(&amp;quot;/employees/employee&amp;quot;);&lt;br /&gt;
    foreach($employees as $employee) {&lt;br /&gt;
            echo &amp;quot;Found {$employee-&amp;gt;name}&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    $names = $xml-&amp;gt;xpath(&amp;quot;//name&amp;quot;);&lt;br /&gt;
    foreach($names as $name) {&lt;br /&gt;
            echo &amp;quot;Found $name&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using XPath and DOM==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
$dom = new DOMDocument;&lt;br /&gt;
$dom-&amp;gt;load(&amp;quot;address-book.xml&amp;quot;);&lt;br /&gt;
$xpath = new DOMXPath($dom);&lt;br /&gt;
$email = $xpath-&amp;gt;query(&amp;quot;/address-book/person/email&amp;quot;);&lt;br /&gt;
//&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;address-book&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;D&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;S&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;New York&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;NY&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;s@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;A&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;T&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;San Francisco&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;CA&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;a@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/address-book&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using XPath and SimpleXML in a basic example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$s = simplexml_load_file(&amp;quot;address-book.xml&amp;quot;);&lt;br /&gt;
$emails = $s-&amp;gt;xpath(&amp;quot;/address-book/person/email&amp;quot;);&lt;br /&gt;
foreach ($emails as $email) {&lt;br /&gt;
    // do something with $email&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;address-book&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;D&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;S&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;New York&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;NY&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;s@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;A&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;T&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;San Francisco&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;CA&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;a@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/address-book&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using XPath with DOM in a basic example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$dom = new DOMDocument;&lt;br /&gt;
$dom-&amp;gt;load(&amp;quot;address-book.xml&amp;quot;);&lt;br /&gt;
$xpath = new DOMXPath($dom);&lt;br /&gt;
$emails = $xpath-&amp;gt;query(&amp;quot;/address-book/person/email&amp;quot;);&lt;br /&gt;
foreach ($emails as $e) {&lt;br /&gt;
    $email = $e-&amp;gt;firstChild-&amp;gt;nodeValue;&lt;br /&gt;
    // do something with $email&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;address-book&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;D&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;S&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;New York&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;NY&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;s@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;A&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;T&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;San Francisco&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;CA&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;a@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/address-book&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using XPath with SimpleXML in a more complicated example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
$s = simplexml_load_file(&amp;quot;address-book.xml&amp;quot;);&lt;br /&gt;
$people = $s-&amp;gt;xpath(&amp;quot;/address-book/person&amp;quot;);&lt;br /&gt;
foreach($people as $p) {&lt;br /&gt;
    list($firstname) = $p-&amp;gt;xpath(&amp;quot;firstname&amp;quot;);&lt;br /&gt;
    list($lastname) = $p-&amp;gt;xpath(&amp;quot;lastname&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    print &amp;quot;$firstname $lastname\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;address-book&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;D&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;S&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;New York&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;NY&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;s@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
    &amp;lt;person id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;firstname&amp;gt;A&amp;lt;/firstname&amp;gt;&lt;br /&gt;
        &amp;lt;lastname&amp;gt;T&amp;lt;/lastname&amp;gt;&lt;br /&gt;
        &amp;lt;city&amp;gt;San Francisco&amp;lt;/city&amp;gt;&lt;br /&gt;
        &amp;lt;state&amp;gt;CA&amp;lt;/state&amp;gt;&lt;br /&gt;
        &amp;lt;email&amp;gt;a@php.net&amp;lt;/email&amp;gt;&lt;br /&gt;
    &amp;lt;/person&amp;gt;&lt;br /&gt;
&amp;lt;/address-book&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XPath can be used to filter your results according to any values==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?&lt;br /&gt;
    $xml = simplexml_load_file(&amp;quot;employees.xml&amp;quot;);&lt;br /&gt;
    $employees = $xml-&amp;gt;xpath(&amp;quot;/employees/employee[name=&amp;quot;Laura Pollard&amp;quot;]&amp;quot;);&lt;br /&gt;
    foreach($employees as $employee) {&lt;br /&gt;
            echo &amp;quot;Found {$employee-&amp;gt;name}&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    $employees = $xml-&amp;gt;xpath(&amp;quot;/employees/employee[age&amp;lt;54]&amp;quot;);&lt;br /&gt;
    foreach($employees as $employee) {&lt;br /&gt;
            echo &amp;quot;Found {$employee-&amp;gt;name}&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    $employees = $xml-&amp;gt;xpath(&amp;quot;//employee[age&amp;gt;=48]&amp;quot;);&lt;br /&gt;
    foreach($employees as $employee) {&lt;br /&gt;
            echo &amp;quot;Found {$employee-&amp;gt;name}&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==XPath DOM Query==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
 &amp;lt;title&amp;gt;XPath DOM Query&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$dom = new DomDocument();  &lt;br /&gt;
$dom -&amp;gt; load( &amp;quot;food.xml&amp;quot; );&lt;br /&gt;
$xp = new DomXPath( $dom );  &lt;br /&gt;
$fruits = $xp -&amp;gt; query( &amp;quot;/food/fruit/item&amp;quot; );&lt;br /&gt;
foreach($fruits as $node)&lt;br /&gt;
{&lt;br /&gt;
  echo( &amp;quot;&amp;lt;li&amp;gt;&amp;quot; . $node -&amp;gt; textContent . &amp;quot;&amp;lt;/li&amp;gt;&amp;quot; );&lt;br /&gt;
}&lt;br /&gt;
echo( &amp;quot;&amp;lt;/ul&amp;gt;&amp;quot; );&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==xpath.php==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
   $xml = simplexml_load_file(&amp;quot;books.xml&amp;quot;);&lt;br /&gt;
   $authors = $xml-&amp;gt;xpath(&amp;quot;/library/book/author&amp;quot;);&lt;br /&gt;
   foreach($authors AS $author) {&lt;br /&gt;
      echo &amp;quot;$author&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>