http://blog.csdn.net/morewindows/article/details/7102362
常用 如下 几行:
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]
http://blog.csdn.net/morewindows/article/details/7102362
http://blog.csdn.net/morewindows/article/details/7102362
我们来看看如何用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);
然后将
$rootelement->appendChild($title);
$rootelement->appendChild($link);
最后将
$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) . '字节';
?>
//将数组输出到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);
//得到
$articles = $dom->getElementsByTagName("article");
echo '
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 ""; <br>
var_dump($article_array); <br>
echo "
";
?>
//读取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);
//得到
$articles = $dom->getElementsByTagName("article");
echo '
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 "
";<br> var_dump($article_array);<br> echo "";
?>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
