asXML(); //标准化$xml $fp = fop">
输入banner图图片脚本导航/分类

PHP读写XML文件技巧_PHP教程

常用 如下 几行:

header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$xml = simplexml_load_file("example.xml"); //读取xml文件
$newxml = $xml->asXML(); //标准化$xml
$fp = fopen("newxml.xml", "w"); //新建xml文件
fwrite($fp, $newxml); //写入-------xml文件
fclose($fp);

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

一.生成XML文件
对于一个如下XML文件。

[html]

PHP访问MySql数据库 初级篇
http://blog.csdn.net/morewindows/article/details/7102362



PHP访问MySql数据库 初级篇
http://blog.csdn.net/morewindows/article/details/7102362

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

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

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

$dom->formatOutput= true;

再创建结点和结点</p> <p>$rootelement =$dom->createElement("article");</p> <p>$title =$dom->createElement("title", "PHP访问MySql数据库 初级篇");</p> <p>然后创建带文本内容的结点</p> <p>$link =$dom->createElement("link","http://blog.csdn.net/morewindows/article/details/7102362");</p> <p>也可以先生成结点再为其添加文本内容。</p> <p>$link = $dom->createElement("link");</p> <p>$linktext =$dom->createTextNode('http://blog.csdn.net/morewindows/article/details/7102362');</p> <p>$link->appendChild($linktext);</p> <p>然后将<title>和结点加入到结点中去</p> <p>$rootelement->appendChild($title);</p> <p>$rootelement->appendChild($link);</p> <p>最后将结点加入到DOMDocument对象中,</p> <p>$dom->appendChild($rootelement);</p> <p>这样一个完整的XML就生成完毕了。再整出整个XML,</p> <p>echo $dom->saveXML() ;</p> <p>saveXML()也可以只输入部分XML文本,如echo $dom->saveXML($link);就只会</pre>输出结点:http://blog.csdn.net/morewindows/article/details/7102362</link></p> <p>下面再给出一个完整的PHP中数据内容</pre>输出到XML文件的例子。该例子会对将一个PHP数组</pre>输出到XML文件中。</p> <p>[php] <?php <br /> //将数组</pre>输出到XML文件中 <br /> // by MoreWindows( http://blog.csdn.net/MoreWindows ) <br /> $article_array = array( <br /> "第一篇" => array( <br /> "title"=>"PHP访问MySql数据库 初级篇", <br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7102362" <br /> ), <br /> "第二篇" => array( <br /> "title"=>"PHP访问MySql数据库 中级篇 Smarty技术", <br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7094642" <br /> ), <br /> "第三篇" => array( <br /> "title"=>"PHP访问MySql数据库 高级篇 AJAX技术", <br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7086524" <br /> ), <br /> ); <br /> $dom = new DOMDocument('1.0', 'UTF-8'); <br /> $dom->formatOutput = true; <br /> $rootelement = $dom->createElement("MoreWindows"); <br /> foreach ($article_array as $key=>$value) <br /> { <br /> $article = $dom->createElement("article", $key); <br /> $title = $dom->createElement("title", $value['title']); <br /> $link = $dom->createElement("link", $value['link']); <br /> $article->appendChild($title); <br /> $article->appendChild($link); <br /> $rootelement->appendChild($article); <br /> </p> <p>} <br /> $dom->appendChild($rootelement); <br /> $filename = "D:test.xml"; <br /> echo 'XML文件大小' . $dom->save($filename) . '字节'; <br /> ?> <br /> <?php<br /> //将数组</pre>输出到XML文件中<br /> // by MoreWindows( http://blog.csdn.net/MoreWindows )<br /> $article_array = array(<br /> "第一篇" => array(<br /> "title"=>"PHP访问MySql数据库 初级篇",<br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7102362"<br /> ),<br /> "第二篇" => array(<br /> "title"=>"PHP访问MySql数据库 中级篇 Smarty技术",<br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7094642"<br /> ),<br /> "第三篇" => array(<br /> "title"=>"PHP访问MySql数据库 高级篇 AJAX技术",<br /> "link"=>"http://blog.csdn.net/morewindows/article/details/7086524"<br /> ),<br /> );<br /> $dom = new DOMDocument('1.0', 'UTF-8');<br /> $dom->formatOutput = true;<br /> $rootelement = $dom->createElement("MoreWindows");<br /> foreach ($article_array as $key=>$value)<br /> {<br /> $article = $dom->createElement("article", $key);<br /> $title = $dom->createElement("title", $value['title']);<br /> $link = $dom->createElement("link", $value['link']);<br /> $article->appendChild($title);<br /> $article->appendChild($link);<br /> $rootelement->appendChild($article);<br /> }<br /> $dom->appendChild($rootelement);<br /> $filename = "D:test.xml";<br /> echo 'XML文件大小' . $dom->save($filename) . '字节';<br /> ?><br /> 运行该PHP会在D盘上生成test.xml文件(Win7 + XAMPP + IE9.0测试通过)</p> <p> </p> <p>二.读取XML文件 <br /> 以读取前文中生成的D:test.xml为例:</p> <p>[php] <?php <br /> //读取XML文件 <br /> // by MoreWindows( http://blog.csdn.net/MoreWindows ) <br /> $filename = "D:test.xml"; <br /> $article_array = array(); <br /> <br /> $dom = new DOMDocument('1.0', 'UTF-8'); <br /> $dom->load($filename); <br /> <br /> //得到结点 <br /> $articles = $dom->getElementsByTagName("article"); <br /> echo ' 结点个数 ' . $articles->length; <br /> foreach ($articles as $article) <br /> { <br /> $id = $article->getElementsByTagName("id")->item(0)->nodeValue; <br /> $title = $article->getElementsByTagName("title")->item(0)->nodeValue; <br /> $link = $article->getElementsByTagName("link")->item(0)->nodeValue; <br /> $article_array[$id] = array('title'=>$title, 'link'=>$link); <br /> } <br /> <br /> //</pre>输出结果 <br /> echo "<pre class="brush:php;toolbar:false">"; <br /> var_dump($article_array); <br /> echo "</pre>"; <br /> ?> <br /> <?php<br /> //读取XML文件<br /> // by MoreWindows( http://blog.csdn.net/MoreWindows )<br /> $filename = "D:test.xml";<br /> $article_array = array();</p> <p> </p> <p>$dom = new DOMDocument('1.0', 'UTF-8');<br /> $dom->load($filename);</p> <p>//得到结点<br /> $articles = $dom->getElementsByTagName("article");<br /> echo ' 结点个数 ' . $articles->length;<br /> foreach ($articles as $article)<br /> {<br /> $id = $article->getElementsByTagName("id")->item(0)->nodeValue;<br /> $title = $article->getElementsByTagName("title")->item(0)->nodeValue;<br /> $link = $article->getElementsByTagName("link")->item(0)->nodeValue;<br /> $article_array[$id] = array('title'=>$title, 'link'=>$link);<br /> }</p> <p>//</pre>输出结果<br /> echo "<pre class="brush:php;toolbar:false">";<br /> var_dump($article_array);<br /> echo "</pre>";<br /> ?></p></p> <p align="left"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/371866.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/371866.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">常用 如下 几行: header(content-type:text/html; charset=utf-8); //指定PHP使用UTF-8编码 $xml = simplexml_load_file(example.xml); //读取xml文件 $newxml = $xml-asXML(...</span></p> </div> </div> <script type="text/javascript" src="/layui/layui.js"></script> <script> layui.use('code', function(){ layui.code({ elem: 'pre', //默认值为.layui-code about:false, title:'PHP读写XML文件技巧_PHP教程代码块', encode: true //是否转义html标签。默认不开启 }); }); </script> <footer class="comm-footer"> <ul class="channels"> <li> <a target="_top" href="/system/">操作系统</a> </li><li> <a target="_top" href="/down/">程序下载</a> </li><li> <a target="_top" href="/jquery/">jquery插件库</a> </li><li> <a target="_top" href="/jiaoben/">编程</a> </li><li> <a target="_top" href="/db/">数据库</a> </li><li> <a target="_top" href="/tools/">在线工具</a> </li><li> <a target="_top" href="/framebook/">框架书籍</a> </li><li> <a target="_top" href="/xitongjiaocheng/">系统教程</a> </li><li> <a target="_top" href="/ruanjianxiazai/">软件下载</a> </li> </ul> <ul class="versions"> <li> <a href="https://m.gxlcms.com" class="active">触屏版</a> </li> <li> <a href="https://www.gxlcms.com" target="_top">电脑版</a> </li> </ul> <p><a href="https://beian.miit.gov.cn/" target="_blank" style="color:#ffffff"></a><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6c9b8cea1903c9f813f150c04aeebc3c"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></p> </footer> </body> </html>