SimpleXmlElement 在我们用的时候好象很多都是直接使用simplexml_load_string或者load_file。但事实上,SimpleXmlElement功能很强大,只是我们很多时候都忽略了?大多数人还在使用xml_create等函数?

SimpleXmlElement中最让人用的舒服的恐怕就是这个xpath了。例如这个官方的例子:

<?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');

while(list( , $node) = each($result)) {
echo '/a/b/c: ',$node,"\n";
}

/* Relative paths also work... */
$result = $xml->xpath('b/c');

while(list( , $node) = each($result)) {
echo 'b/c: ',$node,"\n";
}
?>
这个例子输出是:
/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

看看,是不是很方便?对于某个XML很大的情况就比较值得这样使用了。