搜索
首页php教程php手册PHP读写XML文件

PHP读写XML文件 author:MoreWindows blog: http://blog.csdn.net/MoreWindows KeyWord: PHP 解析XML DOMDocument XML文件操作 PHP可以方便的生成和读取XML文件。PHP主要通过DOMDocument、DOMElement和DOMNodeList来完成XML的读取与写入操作的。下面就简要说

PHP读写XML文件

author: MoreWindows

blog:    http://blog.csdn.net/MoreWindows

KeyWord:    PHP 解析XML DOMDocument XML文件操作

 

PHP可以方便的生成和读取XML文件。PHP主要通过DOMDocument、DOMElement和DOMNodeList来完成XML的读取与写入操作的。下面就简要说明下如何使用这些类。

一.生成XML文件

对于一个如下XML文件。

<?xml version="1.0" encoding="UTF-8"?>
<article>
  <title>PHP访问MySql数据库 初级篇</title>
  <link>http://blog.csdn.net/morewindows/article/details/7102362
</article>

我们来看看如何用PHP来生成:

首先new一个DOMDocument对象并设置编码格式。

$dom = newDOMDocument('1.0', 'UTF-8');

$dom->formatOutput= true;

 

再创建

结点和结点

$rootelement =$dom->createElement("article");

$title =$dom->createElement("title", "PHP访问MySql数据库 初级篇");

 

然后创建带文本内容的结点

$link =$dom->createElement("link","http://blog.csdn.net/morewindows/article/details/7102362");

也可以先生成结点再为其添加文本内容。

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

$linktext =$dom->createTextNode('http://blog.csdn.net/morewindows/article/details/7102362');

$link->appendChild($linktext);

 

然后将和<link>结点加入到<article>结点中去</article>

$rootelement->appendChild($title);

$rootelement->appendChild($link);

 

最后将

结点加入到DOMDocument对象中,

$dom->appendChild($rootelement);

 

这样一个完整的XML就生成完毕了。再整出整个XML,

echo $dom->saveXML() ;

saveXML()也可以只输入部分XML文本,如echo $dom->saveXML($link);就只会输出结点:http://blog.csdn.net/morewindows/article/details/7102362>

 

下面再给出一个完整的PHP中数据内容输出到XML文件的例子。该例子会对将一个PHP数组输出到XML文件中。

<?php //将数组输出到XML文件中
// by MoreWindows( http://blog.csdn.net/MoreWindows )
$article_array = array(
	"第一篇" => array(
		"title"=>"PHP访问MySql数据库 初级篇", 
		"link"=>"http://blog.csdn.net/morewindows/article/details/7102362"
	),
	"第二篇" => array(
		"title"=>"PHP访问MySql数据库 中级篇 Smarty技术", 
		"link"=>"http://blog.csdn.net/morewindows/article/details/7094642"
	),
	"第三篇" => array(
		"title"=>"PHP访问MySql数据库 高级篇 AJAX技术", 
		"link"=>"http://blog.csdn.net/morewindows/article/details/7086524"
	),
);
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$rootelement = $dom->createElement("MoreWindows");
foreach ($article_array as $key=>$value)
{
	$article = $dom->createElement("article", $key);
	$title = $dom->createElement("title", $value['title']);
	$link = $dom->createElement("link", $value['link']);
	$article->appendChild($title);
	$article->appendChild($link);
	$rootelement->appendChild($article);
}
$dom->appendChild($rootelement);
$filename = "D:\\test.xml";
echo 'XML文件大小' . $dom->save($filename) . '字节';
?>

运行该PHP会在D盘上生成test.xml文件(Win7 + XAMPP + IE9.0测试通过)

 

二.读取XML文件  

以读取前文中生成的D:\\test.xml为例:

<?php //读取XML文件
// by MoreWindows( http://blog.csdn.net/MoreWindows )
$filename = "D:\\test.xml";
$article_array = array();

$dom = new DOMDocument('1.0', 'UTF-8');
$dom->load($filename);

//得到<article>结点
$articles = $dom->getElementsByTagName("article");
echo '<article> 结点个数 ' . $articles->length;
foreach ($articles as $article)
{
	$id = $article->getElementsByTagName("id")->item(0)->nodeValue;
	$title = $article->getElementsByTagName("title")->item(0)->nodeValue;
	$link = $article->getElementsByTagName("link")->item(0)->nodeValue;
	$article_array[$id] = array('title'=>$title, 'link'=>$link);
}

//输出结果
echo "<pre class="brush:php;toolbar:false">";
var_dump($article_array);
echo "
"; ?>

运行结果如下:

PHP读写XML文件

更详细的内容请访问PHP手册中的DOMDocument类。当然想要更加方便可以使用一些第三方提供的XML类库,这里就不一一列举了,有兴趣可以到网上找找。

 

 

http://blog.csdn.net/morewindows/article/details/7241452

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具