技术开发 频道

在PHP中开发XML应用程序之基础篇

    六、 简单XML

    简单XML确实简单。它允许使用对象和数组存取方法来存取一个XML文档及其元素和属性。操作方式很简单:

    · 元素(Element)-这些被描述为SimpleXMLElement对象的单个属性。当有多个作为文档或元素的子元素存在时,每个元素能被使用数组索引标志加以存取。

    $xml->books;//返回元素"books"
    $xml->books->book[0];//返回在books元素中的第一本书

    · 属性(Attribute)-元素的属性是通过关联数组标志来存取和设置的,此时每一个索引对应于一个属性名。

    $category['cid'];//返回cid属性的值

    · 元素数据(Element Data)-为了检索包含在一个元素内的文本数据,必须使用(string)显式地把它被转换为一个字符串或使用print或echo输出它。如果一个元素包含多个文本结点,那么它们将按被找到的顺序连接起来。

    echo ($xml->books->book[0]->title);//显示第一本书的标题

    下面是使用简单XML进行转换的原来的实例。为了装载XML文件,我们使用simplexml_load_file()函数,由它来分析该XML文件并且把它装载进一个SimpleXMLElement对象中:

    PHP:

    <?php
    $xml = simplexml_load_file('xml/library.xml');
    /* 把一个列表的目录装载到一个数组中*/
    $categories = array();
    foreach($xml->categories->category as $category) {
    $categories[(string) $category['cid']] = (string) $category;
    }
    ?>
    <html>
    <head>
    <title>XML Library</title>
    </head>
    <body>
    <?php foreach($xml->books->book as $book):
    /* 列举目录*/
    $catList = '';
    foreach($book->category as $category) {
    $catList .= $categories[((string) $category)] . ', ';
    }
    $catList = substr($catList, 0, -2); ?>
    <div>
    <h2><?php echo($book->title) ?></h2>
    <p><b>Author:</b>: <?php echo($book->author) ?></p>
    <p><b>Categories: </b>: <? php echo($catList) ?></p>
    </div>
    <? php endforeach; ?>
    </html>

 

0
相关文章