zoukankan      html  css  js  c++  java
  • php 生成xml 的四种方式

    PHP中的生成XML文件的4种方法

    【XMLWriter】
    方法3:使用XMLWriter类创建XML文件
    此方法在PHP 5.1.2后有效
    另外,它可以输出多种编码的XML,但是输入只能是utf-8
    PHP代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?PHP
    $data_array=array(
    array(
    'title'=>'title1',
    'content'=>'content1',
    'pubdate'=>'2009-10-11',
    ),
    array(
    'title'=>'title2',
    'content'=>'content2',
    'pubdate'=>'2009-11-11',
    )
    );

    // 属性数组
    $attribute_array=array(
    'title'=>array(
    'size'=>1
    )
    );

    $xml=new XMLWriter();
    $xml->openUri("php://output");// 输出方式,也可以设置为某个xml文件地址,直接输出成文件
    $xml->setIndentString(' ');
    $xml->setIndent(true);

    $xml->startDocument('1.0','utf-8');// 开始创建文件
    // 根结点
    $xml->startElement('article');

    foreach($data_arrayas$data){
    $xml->startElement('item');

    if(is_array($data)){
    foreach($dataas$key=>$row){
    $xml->startElement($key);

    if(isset($attribute_array[$key])&&is_array($attribute_array[$key])){
    foreach($attribute_array[$key]as$akey=>$aval){// 设置属性值
    $xml->writeAttribute($akey,$aval);
    }

    }

    $xml->text($row);// 设置内容
    $xml->endElement();// $key
    }

    }
    $xml->endElement();// item
    }

    $xml->endElement();// article
    $xml->endDocument();

    $xml->flush();
    ?>

    【SimpleXML】
    方法4:使用SimpleXML创建XML文档

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?PHP
    $data_array = array(
    array(
    'title' => 'title1',
    'content' => 'content1',
    'pubdate' => '2009-10-11',
    ),
    array(
    'title' => 'title2',
    'content' => 'content2',
    'pubdate' => '2009-11-11',
    )
    );
     
    // 属性数组
    $attribute_array = array(
    'title' => array(
    'size' => 1
    )
    );
     
    $string = <<<XML
    <?xml version='1.0' encoding='utf-8'?>
    <article>
    </article>
    XML;
     
    $xml = simplexml_load_string($string);
     
    foreach ($data_array as $data) {
    $item = $xml->addChild('item');
    if (is_array($data)) {
    foreach ($data as $key => $row) {
    $node = $item->addChild($key, $row);
     
    if (isset($attribute_array[$key]) && is_array($attribute_array[$key])) {
    foreach ($attribute_array[$key] as $akey => $aval) { // 设置属性值
    $node->addAttribute($akey, $aval);
    }
    }
    }
    }
    }
    echo $xml->asXML();
    ?>

    本文地址:PHP中的生成XML文件的4种方法    文章出处:PHP源码阅读,PHP设计模式,PHP学习笔记-胖子的空间

    转载请以链接形式注明原始出处和作者,谢绝不尊重版权者抄袭!

  • 相关阅读:
    观《逻辑思维,如何成为一个高手》
    第十八周 最后冲刺
    第十六周 个人项目开发流程
    个人作业
    第十四周个人总结
    排球比赛计分程序功能说明书
    Spring实战(1)
    java基础知识(三)
    JAVA中框架总结
    java基础知识(一)
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1940830.html
Copyright © 2011-2022 走看看