- ·上一篇文章:PHP强制对象类型之instanceof操作符
- ·下一篇文章:用PHP+java实现自动新闻滚动窗口
在PHP中开发XML应用程序之基础篇
s的孩子且其标题元素有一个值为Apache2出现的book。
其实,这仅是xPath冰山之一角。你可以使用xPath来创建大量复杂的查询以便从你的文档中提取几乎任何信息。我再次修改了示例代码来向你展示使用xPath是多么轻松愉快的事情。
PHP:
<?php
$xml=simplexml_load_file('xml/library.xml');
?>
<html>
<head>
<title>XMLLibrary</title>
</head>
<body>
<?phpforeach(((array)$xml->xpath("/library/books/book"))as$book):
/*列表目录*/
$catList='';
foreach($book->categoryas$category){
/*得到具有这个ID的目录*/
$category=$xml->xpath("/library/categories/category[@cid='$category']");
$catList.=(string)$category[0].',';
}
$catList=substr($catList,0,-2);?>
<div>
<h2><?phpecho($book->title)?></h2>
<p><b>Author:</b>:<?phpecho($book->author)?></p>
<p><b>Categories:</b>:<?phpecho($catList)?></p>
</div>
<?phpendforeach;?>
</html>
九、DOM和XPath
在DOM中计算XPath查询需要创建一个DOMXPath对象,下面的evaluate()函数返回一个DOMElement数组。
$xPath=newDOMXPath($xml);
$xPath->evaluate("/library/books/book[title='Apache2']");
十、结论
现在,我们学习了如何使用了PHP提供给我们的工具来与XML交互。至此,我们已经被"武装起来"并准备好深入钻研XML应用程序了。在下一篇文章中,我们将讨论AJAX及其如何应用于象Google这样的站点开发的。
其实,这仅是xPath冰山之一角。你可以使用xPath来创建大量复杂的查询以便从你的文档中提取几乎任何信息。我再次修改了示例代码来向你展示使用xPath是多么轻松愉快的事情。
PHP:
$xml=simplexml_load_file('xml/library.xml');
?>
<html>
<head>
<title>XMLLibrary</title>
</head>
<body>
<?phpforeach(((array)$xml->xpath("/library/books/book"))as$book):
/*列表目录*/
$catList='';
foreach($book->categoryas$category){
/*得到具有这个ID的目录*/
$category=$xml->xpath("/library/categories/category[@cid='$category']");
$catList.=(string)$category[0].',';
}
$catList=substr($catList,0,-2);?>
<div>
<h2><?phpecho($book->title)?></h2>
<p><b>Author:</b>:<?phpecho($book->author)?></p>
<p><b>Categories:</b>:<?phpecho($catList)?></p>
</div>
<?phpendforeach;?>
</html>
九、DOM和XPath
在DOM中计算XPath查询需要创建一个DOMXPath对象,下面的evaluate()函数返回一个DOMElement数组。
$xPath->evaluate("/library/books/book[title='Apache2']");
十、结论
现在,我们学习了如何使用了PHP提供给我们的工具来与XML交互。至此,我们已经被"武装起来"并准备好深入钻研XML应用程序了。在下一篇文章中,我们将讨论AJAX及其如何应用于象Google这样的站点开发的。
