zoukankan      html  css  js  c++  java
  • XMLWriter和XMLReader读写XML文件

    XMLWriter写XML文件:

     1 <?php
     2 /**
     3 * function:XMLWriter写XML文件
     4 * author:JetWu
     5 * date:2016.12.03
     6 **/
     7 $mysqli = mysqli_connect('localhost', 'root', '123456', 'wjt');
     8 if(mysqli_connect_errno()) die('database connect fail:' . mysqli_connect_error());
     9  
    10 $sql = 'select * from study order by starttime';
    11 $res = mysqli_query($mysqli, $sql);
    12 $study = array();
    13 while($row = mysqli_fetch_array($res)) {
    14     $study[] = $row;
    15 }
    16  
    17 //XML标签配置
    18 $xmlTag = array(
    19     'starttime',
    20     'endtime',
    21     'school'
    22 );
    23  
    24 $xml = new XMLWriter();
    25 $xml->openUri('./write_WR.xml');
    26 $xml->setIndentString('  ');//设置缩进格式化使用的符号
    27 $xml->setIndent(true);
    28 $xml->startDocument('1.0', 'utf8');
    29 $xml->startElement('studentcareer');
    30 foreach($study as $s) {
    31     $xml->startElement('period');
    32     foreach($xmlTag as $x) {
    33         $xml->startElement($x);
    34         $xml->text($s[$x]);
    35         $xml->endElement();
    36     }
    37     $xml->endElement();
    38 }
    39 $xml->endElement();
    40 $xml->endDocument();
    41 $xml->flush();

    XMLReader读XML文件:

     1 <?php
     2 /**
     3 * function:XMLReader读XML文件
     4 * author:JetWu
     5 * date:2016.12.03
     6 **/
     7 //XML标签配置
     8 $xmlTag = array(
     9     'starttime',
    10     'endtime',
    11     'school'
    12 );
    13 $xml = new XMLReader();
    14 $xml->open('./write_WR.xml');
    15 $study = array();
    16 $count = 0;//记录数:方便组装数据
    17 $name = '';
    18 while($xml->read()) {
    19     $n = $xml->name;
    20     if($xml->nodeType == XMLReader::ELEMENT) {
    21         if($n == 'period') {//开始下一条记录的读取
    22             $count ++;
    23         } else if(in_array($n, $xmlTag)) {//记录需要获取文本值的标签名
    24             $name = $n;
    25         }
    26     } else if($xml->nodeType == XMLReader::TEXT) {
    27         if(in_array($name, $xmlTag)) {
    28             $study[$count][$name] = $xml->value;
    29         }
    30     }
    31 }
    32 $xml->close();
    33 echo '<pre>';
    34 print_r($study);
  • 相关阅读:
    反向代理实例
    nginx常用命令和配置
    nginx的安装
    Can Live View boot up images acquired from 64bit OS evidence?
    What is the behavior of lnk files?
    EnCase v7 search hits in compound files?
    How to search compound files
    iOS 8.3 JB ready
    Sunglasses
    现代福尔摩斯
  • 原文地址:https://www.cnblogs.com/mfBlog/p/10621521.html
Copyright © 2011-2022 走看看