什么是xml,xml的优点在哪里

xml是一种可扩展的标记语言,实现不同平台,系统,语言语言之间进行数据的存储,传输和共享的一种解决方案

xml用途

第三方平台的接口(百度地图用的xml)

xml订阅(RSS订阅)- 邮箱订阅

一些开源系统中对于配置文件,或者是插件的配置。Phpwind插件

java/c 和php语言中的对接上会用到这种xml格式

总的来说,xml是用来存储数据的。那么xml和数据库有什么关系呢?有了数据库的存储为什么还要XML呢?

尽管XML和数据库都可以定义数据模型并存储数据,然而,XML更加通用、更加标准化,适用于不同数据库,不同平台,不同语言的数据的交流

对容易修改表结构的表将其数据存储到XML中可以减轻数据库服务器的压力,减轻程序员的工作量

XML缺少数据库具备的特性:高效的存储、索引和数据修改机制;严格的数据安全访问控制;完整的事务和数据一致性控制;多用户访问机制;触发器、完善的并发控制等。因此,用户量大、数据集成度高以及性能要求高的数据环境中还是需要数据库来完成任务

在严格意义上XML是指XML文档,如果在数据量一般、用户较少、性能要求不高的环境下可以把XML当作数据库来使用。

xml的语法

开头格式

<?xml version='1.0' encoding='utf-8'?>

版本声明之后必须要跟随一个根标签.相当于<html></html>

通常跟<root></root>

xml文档一定遵守DOM文档结构

xml中标签成对,如果标签没有内容,可以使用单标签来代替成对标签 <student></student> => <student/>

xml文档中标签自定义,且区分大小写. <标签名></标签名> <sname> </Sname>

xml文档中所有的属性值加引号 <标签名 属性名 = “值”></标签名>

xml中空格保留,不要随便乱输入空格

XML文件生成

使用字符串创建xml文件 使用DOM创建xml文件

$dom = new DomDocument(”版本”,”编码”);

创建元素节点: 标签对象 = $dom -> createElement(标签名)

创建文本节点: 文本对象 = $dom -> createTextNode(“文本内容”);

节点追加:父节点->appendChild(子节点)

保存domxml对象 $dom -> save(“xml文件”)

eg:

<?php

  try{

    $dsn="mysql:host=localhost;dbname=lingjun";

    $user="root";

    $pwd="";

    $pdo=new PDO($dsn,$user,$pwd,[PDO::ATTR_ERRMODE=>2]);

    $pdo->exec("set names utf8);

    $data=$pdo->query("select * from stu_info")->fetchAll(2);

            $dom=new DomDocument("1.0","utf8");

    $root=$dom->createElement("root");

              foreach($data as $v){

      $stu_info=$dom->createElement("stu_info");

      foreach($v as $k1=>$v1){

        $k1=$dom->createElement($k1);

        $v1=$dom->createTextNode($v1);

        $k1->appendChild($v1);

        $stu_info->appendChild($k1);

      }

      $root->appendChild($stu_info);

    }  

      $dom->appendChild($root);

      $dom->save("xml01.xml");

   }catch(PDOException $e){

    echo $e->getMessage();

   }

?>

 

?

posted on 2017-10-31 18:52  顾君临  阅读(76)  评论(0)    收藏  举报