1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="simplexmlelement.xpath" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>SimpleXMLElement::xpath</refname>
<refpurpose>Runs XPath query on XML data</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SimpleXMLElement">
<modifier>public</modifier> <type class="union"><type>array</type><type>null</type><type>false</type></type><methodname>SimpleXMLElement::xpath</methodname>
<methodparam><type>string</type><parameter>expression</parameter></methodparam>
</methodsynopsis>
<para>
The <literal>xpath</literal> method searches the SimpleXML node for
children matching the <acronym>XPath</acronym> <parameter>expression</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>expression</parameter></term>
<listitem>
<para>
An XPath path
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an <type>array</type> of SimpleXMLElement objects on success; or &null; or &false; in
case of an error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Xpath</title>
<programlisting role="php">
<![CDATA[
<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<d>
<c>code</c>
</d>
</a>
XML;
$xml = new SimpleXMLElement($string);
/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');
foreach ($result as $node) {
echo '/a/b/c: ',$node,"\n";
}
/* Relative paths also work... */
$result = $xml->xpath('b/c');
foreach ($result as $node) {
echo 'b/c: ',$node,"\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff
]]>
</screen>
<simpara>
Notice that the two results are equal.
</simpara>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>SimpleXMLElement::registerXPathNamespace</methodname></member>
<member><methodname>SimpleXMLElement::getDocNamespaces</methodname></member>
<member><methodname>SimpleXMLElement::getNamespaces</methodname></member>
<member><xref linkend="simplexml.examples-basic"/></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|