联系我们
  • 成才热线:
                0531-86996651  86996089
  • 地理位置:
                济南市山大路201号创展中心
                文化东路北100米
  • 乘车路线:
                16路、48路、K94路、112路
                文化东路站
  • PEAQQ群:
                39852963  25515397
  • 使用SimpleXML函数处理XML文件
    发布时间:2008-03-20 00:31:07    作者:匆匆     类别:PHP技术    访问次数:260

        SimpleXML函数包是PHP5新加的处理XML文件的非常简单的函数包,使用它将使xml的处理摆脱DOM处理方式的烦琐、和SAX处理方式的不清晰,过程变得非常简洁。

        SimpleXmL读取整个xml文件成为一个SimepleXMLElement对象,通过对象的属性访问他的子节点;如果多个节点名称相同,则自动成为索引数组;节点的属性成为节点的关联数组的key。

        下面是一段基本的xml处理代码,使用的xml文件是php5手册上的例子,这儿不在罗列。

    <?php
    //cong work at Wed Mar 19 18:20:53 CST 2008
    //构造出SimpleXMLElement对象
    $xml = simplexml_load_file('test.xml');
    //访问某个子节点
    echo $xml->movie->plot."<br>\n";
    //多个名称相同的节点自动变为数组
    echo $xml->movie->characters->character[1]->name;
    //修改某个节点的值
    $xml->movie->rating[0] = 15;
    //新增一个子节点
    $xml->movie->rating[2] = 25;
    echo $xml->movie->rating[2];
    //新增一个标签
    $xml->movie->name = 'aaaaa';
    //设置标签的属性
    $xml->movie->name['id'] = 'bbb';
    //将该对象重新保存成xml文件
    $xml->asXML('test.xml');
    ?>

        下面的代码从数据库的messages表中读取10条记录,将它保存为一个xml文件:

    $xml = new SimpleXMLElement('<Messages></Messages>');
    $i = 0;
    mysql_connect('localhost','root','root');
    mysql_select_db('test');
    $rs = mysql_query("select * from messages limit 10");
    while($row = mysql_fetch_assoc($rs)){
     $xml->message[$i] = '';
     $xml->message[$i]->id = $row['id'];
     $xml->message[$i]->emial = $row['useremail'];
     $xml->message[$i]->ip = $row['userip'];
     $xml->message[$i]->title = $row['title'];
     $xml->message[$i]->mtime = $row['mtime'];
     $i++; 
    }
    $xml->asXML('messages.xml');

        相信这些代码都很容易看的明白。



    匿名    2008-03-20 15:50:12
    看了,真明白~~嘿嘿

    匿名    2008-03-20 21:36:07
    哈哈,时间紧张,写的粗糙了,回头再详细写

    匿名    2008-09-28 17:23:14
    如果数据库提取出来的内容要用gbk,而xml保存又必须用utf,怎么解决啊


    回复:

    请输入验证码: 点击重置图片