• 技术文章 >后端开发 >php教程

    PHP SimpleXMLElement:XML文件解析和读写

    2016-07-28 08:26:09原创503
    PHP保存XML文件

    $xml=new SimpleXMLElement(XML数据);
            $xml->asXML(文件名);

    PHP读取XML文件

    XXX= simplexml_load_file(文件名);


    1.使用面向对象方式访问XML

    classXmlTest
    {private$filename = "a.xml";
        private$isreading=false;
        private$rxml;
    
    //创建XML文件publicfunctionwriteTest()
    {$_data = <<
    
        A
        B
        C
        
                老四
                30
         
        Reminder
        Don't forget the meeting!
    
    data;$xml = new SimpleXMLElement($_data);
            $xml->asXML($this->filename);
        }
        //读取文件privatefunctionreadFile()
        {if(!$this->isreading)
            {
                $this->rxml= simplexml_load_file($this->filename);
                $this->isreading=true;
            }
        }
        //测试:遍历某一数组publicfunctionreaddata()
        {$this->readFile();
            foreach ($this->rxml->data as$x) {
                echo"[".$x."]";
    
            }
            echo"
    "
    ; } //测试 用数组下标读取数组某一项publicfunctionreaddata1() {$this->readFile(); echo"读取第[1]个data数据:"; echo$this->rxml->data[1] ."
    "
    ; } //测试:读取2级XML节点publicfunctionreadfrom() {$this->readFile(); echo"读取from节点:"; echo$this->rxml->from->name .','; echo$this->rxml->from->arg."
    "
    ; //读取name节点的fristname属性echo$this->rxml->from->name['fristname']."
    "
    ; } } $tmp = new XmlTest(); $tmp->writeTest(); $tmp->readdata(); $tmp->readdata1(); $tmp->readfrom(); ?>

    浏览器打印:

    [A][B][C]
    读取第[1]个data数据:B
    读取from数据:老四,30
    陈


    2.使用xpath访问XML., 用路径获取节点,区别:获取的节点都以数组返回,因此用数组下标访问

    publicfunctionreaddata_xpath() {$this->readFile();
            $data= $this->rxml->xpath('/root/data');
            foreach ($dataas$x) {
                echo"[".$x."]";
    
            }
            echo"
    "
    ; } publicfunctionreaddata1_xpath() {$this->readFile(); $data1 = $this->rxml->xpath('/root/data'); echo"读取第[1]个data数据:"; echo$data1[1] ."
    "
    ; } publicfunctionreadfrom_xpath() {$this->readFile(); $name= $this->rxml->xpath('/root/from/name'); $arg= $this->rxml->xpath('/root/from/arg'); echo"读取from数据:"; echo$name[0] .','; echo$arg[0]."
    "
    ; //读取name节点的fristname属性echo$name[0]['fristname']."
    "
    ; }
    $tmp->readdata_xpath();
    $tmp->readdata1_xpath();
    $tmp->readfrom_xpath();
    
    ******************
    浏览器打印:
    [A][B][C] 
    读取第[1]个data数据:B 
    读取from数据:老四,30 
    陈

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了 PHP SimpleXMLElement:XML文件解析和读写,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:gt data this echo lt
    上一篇:wamp环境下安装Memcached服务器端软件和PHP的Memcache扩展 下一篇:腾讯云服务器linux系统下apache php mysql安装
  • 20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php7.2怎么连接oracle数据库?OCI8扩展的安装• PHP中的一个DB类中的成员方法为啥 可以 当作静态方法使用!求指点• Smarty模板中嵌入PHP代码老是报错 • 新手有几个问题大家 • 急php连接mysql有关问题
    1/1

    PHP中文网