XML的概念,作用,及试用

前端之家收集整理的这篇文章主要介绍了XML的概念,作用,及试用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、XML的概念

XML即可扩展标记语言(ExtensibleMarkupLanguage),是一种平台无关的表示数据的方法

标记语言:是一种将文本以及文本相关的其他信息结合起来,展现出文档结构和数据处理细节的电脑文字编码

二、XML的作用和规则

不同的业务系统之间如何方便的进行数据交换,让开发人员煞费苦心。通常用的数据存放方式,常用的有两种:数据库文件。如果使用数据库操作那么需要统一数据库,过程复繁琐。

所有能不能使用一个文件来做,能不能找到一个可以保持数据结构的文件来存放数据,XML的出现使我们有了一个很好的解决方法

对比分析XMLHTMLHTTP概念

三、XML作用:存储和传输数据

<?xmlversion="1.0"?>

<books>

<bookno="1">

<author>泽瓦斯</author>

<title>PHPWeb2.0开发实战</title>

<introduce>主要介绍ZendFramework,作者代码值得学习</introduce>

</book>

<bookno="2">

<author>麦克阿瑟</author>

<title>PHP高级程序设计:模式、框架与测试</title>

<introduce>深入设计模式、PHP标准库和JSON</introduce>

</book>

</books>

作用:

在不同的系统中共享和交互数据

数据结构化和具有可读性

四、读取XML的数据

1、DOM的方式读取XML文档

Xml文件

Stu.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<students>

<studentno="1">

<name>zhangsan</name>

<age>20</age>

</student>

<studentno="2">

<name>lisi</name>

<age>21</age>

</student>

</students>

PHP程序

<?PHP

//创建dom对象

$dom=newDOMDocument();

//加载xml文件

$dom->load("stu.xml");

//将最外层节点读入

$students=$dom->getElementsByTagName("students");

//遍历

foreach($studentsas$key=>$val){

//读取下一层节点

$stu=$val->getElementsByTagName("student");

//遍历下一层节点

foreach($stuas$k=>$v){

//获取name节点对象

$name=$v->getElementsByTagName("name");

//获取节点对象的值

$na=$name->item(0)->nodeValue;

//获取age节点

$age=$v->getElementsByTagName("age");

//获取节点的值

$ag=$age->item(0)->nodeValue;

}

}

?>

五、PHP创建xml文件

创建XML

声明DOM对象:newDOMDocument()

创建节点:createElement()

给子节点赋值

创建文本节点:createTextNode()

添加子节点:appendChild()

创建节点属性:createAttribute()

属性节点赋值

创建包含<![CDATA[数据]]>的节点:createCDATASection

例子:

1、从数据库查询数据得到数据数组

2、将数组中的数据循环遍历

3、循环的过程中创建节点,并存储数据数据

4、将XML保存为文件

注意:

使用DomDocument生成XML文件

创建节点使用createElement方法

创建文本内容使用createTextNode方法

添加子节点使用appendChild方法

创建属性使用createAttribute方法

例子:

<?PHP

$data_array=array(

array(

'title'=>'title1',

'content'=>'content1',

'pubdate'=>'2014/9/2',

),

array(

'title'=>'title2',

'content'=>'content2',

)

);

//属性数组

$attribute_array=array(

'title'=>array(

'size'=>1

)

);

//创建一个XML文档并设置XML版本和编码。。

$dom=newDomDocument('1.0','utf-8');

//创建根节点

$article=$dom->createElement('article');

$dom->appendchild($article);

foreach($data_arrayas$data){

$item=$dom->createElement('item');

$article->appendchild($item);

create_item($dom,$item,$data,$attribute_array);

}

//输出生成xml文件

echo$dom->saveXML();

//在磁盘上保存

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

functioncreate_item($dom,$attribute){

if(is_array($data)){

foreach($dataas$key=>$val){

//创建元素

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

$item->appendchild($$key);

//创建元素值

$text=$dom->createTextNode($val);

$$key->appendchild($text);

if(isset($attribute[$key])){

//如果此字段存在相关属性需要设置

foreach($attribute[$key]as$akey=>$row){

//创建属性节点

$$akey=$dom->createAttribute($akey);

$$key->appendchild($$akey);

//创建属性值节点

$aval=$dom->createTextNode($row);

$$akey->appendChild($aval);

}

}//endif

}

}//endif

}//endfunction

?>

原文链接:https://www.f2er.com/xml/296801.html

猜你在找的XML相关文章