该文举一个使用php中的dom生成xml文件的简单例子。假如需要生成一个描述某些博文的xml文件,可以使用下述代码来生成: //定义博文数据,实际数据应该从数据库中取出 $articles = array(array('title' => '深入浅出CURL', 'author' => '360weboy'), array('title' => '深入理解execution context', 'author' => 'jack.yin')); //构建dom document $xml = new DOMDocument(); //格式化输出 $xml->formatOutput = TRUE; //设置xml文档的编码为utf8 $xml->encoding = 'utf8'; //构建文章根节点 $root = $xml->createElement('articles'); if (count($articles) > 0) { //遍历数组,生成文章子节点 foreach($articles as $article) { //建立文章节点 $a = $xml->createElement('article'); //建立title字节点 $title = $xml->createElement('title'); //建立文本节点,并且加入到title节点下 $title->appendChild($xml->createTextNode($article['title'])); //添加title节点到article节点下 $a->appendChild($title); $author = $xml->createElement('author'); $author->appendChild($xml->createTextNode($article['author'])); $a->appendChild($author); //添加article节点到根节点下 $root->appendChild($a); } } //添加根节点到xml文档下 $xml->appendChild($root); //设置charset为utf-8,不然浏览器会显示中文为乱码 header('Content-Type: text/html;charset=UTF-8'); //保存xml文档到artciles.xml if ($xml->save('articles.xml') !== FALSE) { echo 'articles.xml已经生成保存!'; } else { echo 'articles.xml生成失败'; } 上述代码生成的xml文档如下: <?xml version="1.0"?> <articles> <article> <title><![CDATA[深入浅出CURL]]></title> <author>360weboy</author> </article> <article> <title><![CDATA[深入理解execution context]]></title> <author>jack.yin</author> </article> </articles> 总结: 当然,读取xml文档的方式也差不多。使用dom来处理一些小型xml文档还是比较不错的,如果你熟悉javascript的话,相信dom这种方式对你来说还是很好理解的。但是,由于使用这种方式的话,php需要将这个文档读入内存中,构建一颗dom树,所以,如果处理大型xml文档的话,是不太合适的,因为太消耗内存了! 其它方法请参考手册 – http:///manual/en/class.domdocument.php |
|