1、XML知识
Xml就是可扩展标记语言与html一样,都是通用标记语言。 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
2、XML标签属性
<?xml version=”1.0″ encoding=”utf-8″?>
声明版本和编码
<book>
<title id=”mytitle”>xml学习</title>
标签,标签属性,属性内容,标签内容
<author>作者</author>
</book>
3、XML和HTML区别
XML和HTML区别在于,XML是用来存储数据的而HTML使用来定义数据的
XML扩展性比html强、xml语法比html语法严格、XML区分大小写
4、XML使用
RSS
XML数据库
XML接口
5、DOMDocument介绍
Document 对象是一棵文档树的根,可为我们提供对文档数据的最初(或最顶层)的访问入口。 用于元素节点、文本节点、注释、处理指令等均无法存在于 document 之外,document 对象同样提供了创建这些对象的方法。Node 对象提供了一个 ownerDocument 属性,此属性可把它们与在其中创建它们的 Document 关联起来。 具体内容可以自行查找
6、PHP读取XML
$doc=new DOMDocument();
$doc->load(“book.xml”);
$book=$doc->getElementsByTagName(“book”);
数组内容输出
foreach($book as $i)
{
echo $i->nodeValue.”<br />”;
}
/*$title=$doc->getElementsByTagName(“title”);
echo $title->item(0)->nodeValue;
这是获取一个内容
*/
7、PHP创建XML
<?php
$doc=new DOMDocument(‘1.0′,’utf-8’);
$doc->formatOutput=true;//格式xml输出
$root=$doc->createElement(‘root’);//创建一个标签root
$index=$doc->createElement(‘index’);//创建一个标签index
$id=$doc->createAttribute(‘id’);//然后创建一个id属性
$idcon=$doc->createTextNode(‘myid’);//创建一个标签属性内容
$incon=$doc->createTextNode(‘content’);//创建标签内容
$id->appendChild($idcon);//组合过程,把myid赋给id,就是id=myid
$index->appendChild($id);//然后把上面的组合到index标签内
$index->appendChild($incon);//把content组合到index标签内作为标签内容
$root->appendChild($index);//标签index组合到root标签
$doc->appendChild($root);//root标签是顶层标签
$doc->save(“text.xml”);//保存文件
?>
这样text.xml内容如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<root>
<index id=”myid”>content</index>
</root>
8、PHP修改XML
根据修改数据库的原理,而XML的修改和删除
打开xml文件—查询满足条件的标签—重新赋值(删除指定标签)—重新保存
代码如下
$dom=new DOMDocument();
$dom->load(“update.xml”);
$contents=$dom->getElementsByTagName(“joyous”);
foreach($contents as $val){
if($val->getAttribute(“id”)==’id3′){
$val->getElementsByTagName(“content”)->item(0)->nodeValue=’更改内容‘;
}
//删除操作
$root=$dom->documentElement;//找到根文档
if($val->getAttribute(“id”)==’id4′){
$root->removeChild($val);
}
echo $val->getAttribute(“id”).”—“;
echo $val->getElementsByTagName(“content”)->item(0)->nodeValue;
echo “<br />”;
}
//重新保存文件即可
$dom->save(‘update.xml’);
update.xml文件内容
<?xml version=”1.0″ encoding=”utf-8″?>
<root>
<joyous id=”id1″><content>内容1</content></joyous>
<joyous id=”id2″><content>内容2</content></joyous>
<joyous id=”id3″><content>内容3</content></joyous>
<joyous id=”id4″><content>内容4</content></joyous>
</root>