面向PHP开发人员的XML第1部分: PHP XML开发15分钟快速入门
2008-11-19 22:22:31 来源:WEB开发网清单 7. 提取节点 —— 有多么简单?
<?php
include 'example.php';
$xml(标准化越来越近了) = new Simplexml(标准化越来越近了)Element($xml(标准化越来越近了)str);
echo $xml(标准化越来越近了)->book[0]->plot; // "Cliff meets Lovely Woman. Loyal
Dog..."
?>
另一方面,也许还要提取分为多行的地址。当一个元素的多个实例是一个父元素的子元素,通常需要使用迭代技术。如清单 8 所示。
清单 8. 提取元素的多个实例
<?php
include 'example.php';
$xml(标准化越来越近了) = new Simplexml(标准化越来越近了)Element($xml(标准化越来越近了)str);
/* For each <book> node, echo a separate <plot>. */
foreach ($xml(标准化越来越近了)->book as $book) {
echo $book->plot, '<br />';
}
?>
除了读取元素名称及其值以外,Simplexml(标准化越来越近了) 也能访问元素的属性。清单 9 中就像访问数组成员一样访问元素的属性。
清单 9. Simplexml(标准化越来越近了) 访问元素的属性
//Input xml(标准化越来越近了) file repeated for your convenience
<?php
$xml(标准化越来越近了)str = <<<xml(标准化越来越近了)
<?xml(标准化越来越近了) version='1.0' standalone='yes'?>
<books>
<book>
<title>Great American Novel</title>
<characters>
<character>
<name>Cliff</name>
<desc>really great guy</desc>
</character>
<character>
<name>Lovely Woman</name>
<desc>matchless beauty</desc>
</character>
<character>
<name>Loyal Dog</name>
<desc>sleepy</desc>
</character>
</characters>
<plot>
Cliff meets Lovely Woman. Loyal Dog sleeps, but wakes up to bark
at mailman.
</plot>
<success type="bestseller">4</rating>
<success type="bookclubs">9</rating>
</book>
</books>
xml(标准化越来越近了);
?>
<?php
include 'example.php';
$xml(标准化越来越近了) = new Simplexml(标准化越来越近了)Element($xml(标准化越来越近了)str);
/* Access the <success> nodes of the first book.
* Output the success indications, too. */
foreach ($xml(标准化越来越近了)->book[0]->success as $success) {
switch((string) $success['type']) { // Get attributes as element indices
case 'bestseller':
echo $success, ' months on bestseller list';
break;
case 'bookclubs':
echo $success, ' bookclub listings';
break;
}
}
?>
更多精彩
赞助商链接