`
cakin24
  • 浏览: 1388541 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

PHP动态创建XML文档

    博客分类:
  • PHP
阅读更多

一 代码

conn.php
<?php 
$id=mysql_connect("localhost","root","root") or die('数据库连接失败:' . mysql_error());
if(mysql_select_db("db_database26",$id))
  echo "";
  else
  echo ('数据库错误' . mysql_error());
mysql_query("set names gb2312");
?>
 
index.php
<a 
ref="rss.xml">查看rss.xml文件中的内容</a>
<?php 
include_once("conn/conn.php");
include_once("rss.php");
?>
 
rss.php
<?php 
$self=$_SERVER['HTTP_REFERER'];
$u=$_SERVER['HTTP_HOST'];
$url="http://"."$u";
$date_time=date("Y-m-d H:i:s");  
$dom = new DomDocument('1.0','gb2312');						//创建DOM对象
$object = $dom->createElement('rss');						//创建根节点rss
$dom->appendChild($object);									//将创建的根节点添加到dom对象中
	$type1 = $dom->createAttribute('xmlns:rdf');			//创建一个节点属性xmlns:rdf
	$object->appendChild($type1);							//将属性追加到rss根节点中
		$type1_value = $dom->createTextNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#'); //创建一个属性值
		$type1->appendChild($type1_value);								//将属性值赋给属性xmlns:rdf
	$type2 = $dom->createAttribute('xmlns:dc');							//创建一个节点属性xmlns:dc
	$object->appendChild($type2);							//将属性追加到rss根节点中
		$type2_value = $dom->createTextNode('http://purl.org/dc/elements/1.1/'); //创建一个属性值
		$type2->appendChild($type2_value);								//将属性值赋给属性xmlns:dc
	$type3 = $dom->createAttribute('xmlns:taxo');							//创建一个节点属性xmlns:taxo
	$object->appendChild($type3);							//将属性追加到rss根节点中
		$type3_value = $dom->createTextNode('http://purl.org/rss/1.0/modules/taxonomy/'); //创建一个属性值
		$type3->appendChild($type3_value);								//将属性值赋给属性xmlns:taxo
	$type4 = $dom->createAttribute('version');							//创建一个节点属性version
	$object->appendChild($type4);							//将属性追加到rss根节点中
		$type4_value = $dom->createTextNode('2.0'); 		//创建一个属性值
		$type4->appendChild($type4_value);					//将属性值赋给属性version
	$channel = $dom->createElement('channel');							//创建节点channel
	$object->appendChild($channel);									//将节点channel追加到根节点rss下
		$title = $dom->createElement('title');						//创建节点title
		$channel->appendChild($title);								//将节点追加到channel节点下
			$title_value = $dom->createTextNode(iconv('gb2312','utf-8','明日科技'));	//创建元素值
			$title->appendChild($title_value);						//将值赋给title节点
		$link = $dom->createElement('link');					//创建节点link
		$channel->appendChild($link);							//将节点追加到channel节点下
			$link_value = $dom->createTextNode(iconv('gb2312','utf-8','http://www.mingrisoft.com'));//创建元素值
			$link->appendChild($link_value);						//将值赋给link节点
		$description = $dom->createElement('description');					//创建节点description
		$channel->appendChild($description);						//将节点追加到channel节点下
			$description_value = $dom->createTextNode(iconv('gb2312','utf-8','明日科技'));	//创建元素值
			$description->appendChild($description_value);							//将值赋给description节点
		$dc_creator = $dom->createElement('dc:creator');					//创建节点dc:creator
		$channel->appendChild($dc_creator);						//将节点追加到channel节点中
			$dc_creator_value = $dom->createTextNode(iconv('gb2312','utf-8','http://www.mingrisoft.com'));//创建元素值
			$dc_creator->appendChild($dc_creator_value);						//将值赋给dc:creator节点
$sql=mysql_query("select * from tb_rss_database order by tb_rss_id desc");		//从数据库中读取数据
while($myrow=mysql_fetch_array($sql)){				//循环输出数据库中数据
		$item = $dom->createElement('item');			//创建节点item
		$object->appendChild($item);							//将item追加到channel节点下
			$item_title = $dom->createElement('title');					//创建title节点
			$item->appendChild($item_title);						//将节点追加到item节点下
			$item_link = $dom->createElement('link');					//创建link节点
			$item->appendChild($item_link);						//将节点追加到item节点下
			$item_description = $dom->createElement('description');		//创建description节点
			$item->appendChild($item_description);						//将节点追加到item节点中
			$item_pubDate = $dom->createElement('pubDate');				//创建节点pubDate
			$item->appendChild($item_pubDate);						//将节点追加到item节点下
				$title_value = $dom->createTextNode(iconv('gb2312','utf-8',"$myrow[tb_rss_subject]"));	//创建元素值
				$item_title->appendChild($title_value);						//将值赋给title节点
				$link_value = $dom->createTextNode(iconv('gb2312','utf-8',"$url/tm/sl/22/02/look_content.php?lmbs=$myrow[tb_rss_id]"));//创建元素值
				$item_link->appendChild($link_value);						//将值赋给link节点
				$description=substr($myrow[tb_rss_content],0,80);			//截取该字段中的前80个字符
				$description_value = $dom->createTextNode(iconv('gb2312','utf-8',"$description"));//创建元素值
				$item_description->appendChild($description_value);			//将值赋给description节点
				$pubDate_value = $dom->createTextNode(iconv('gb2312','utf-8',"$date_time"));//创建元素值
				$item_pubDate->appendChild($pubDate_value);						//将值赋给pubDate节点
}
$modi = $dom->saveXML();					//生成xml文档
file_put_contents('Rss.xml',$modi);			/*  将对象保存到Rss.xml文档中  */
?>
 
二 运行结果

 
  • 大小: 29.7 KB
分享到:
评论

相关推荐

    php动态生成xml文件

    - 可以先连接数据库,查询数据,然后根据查询结果动态创建XML结构。 - 示例: ```php $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $pdo-&gt;query('SELECT * FROM ...

    PHP实现动态创建XML文档的方法

    主要介绍了PHP实现动态创建XML文档的方法,结合实例形式分析了php针对xml格式数据的构建及文件读写相关操作技巧,需要的朋友可以参考下

    xml.rar_php xml_xml php

    这对于动态创建XML文件非常有用。 接下来,我们关注如何在PHP中自动添加XML内容。假设我们有一个已经存在的XML文件,我们可以使用DOMDocument或SimpleXMLElement来添加新的元素。以下是一个使用DOMDocument的例子:...

    动态生成Rss文件 Xml操作 Xml文件的修改 简单实用的demo

    在这个简单的`RSS.php`示例中,我们看到了如何使用PHP动态创建一个符合RSS 2.0标准的XML文件。这个过程涉及到了DOMDocument类的使用,包括创建元素、设置属性、添加子元素以及保存XML文件。通过这种方式,开发者可以...

    XML文件编辑器XMLwriter

    1. 动态生成XML:XMLwriter允许开发者在程序运行时动态创建XML结构,无需预先编写完整的XML字符串或文件。这对于需要根据用户输入或其他条件动态构建XML内容的场景非常有用。 2. 高效性能:与直接生成字符串相比,...

    php 与XML的例子

    此外,PHP还提供了XMLWriter类用于创建XML文档。这是一个向后兼容DOM的方法,可以逐步构建XML结构,而无需一次性加载整个文档到内存。这对于处理大型或动态生成的XML数据特别有用。 ```php &lt;?php $xmlWriter = new ...

    php加载和生成json和生成xml文件,并带有ajax分页效果,带图带数据库

    生成XML文件则涉及创建XML元素和属性,然后保存到文件中。以下示例创建了一个简单的XML文档: ```php $xml = new DOMDocument('1.0', 'UTF-8'); $root = $xml-&gt;createElement('users'); $xml-&gt;appendChild($root); ...

    php+xml php+ajax php+mysql

    PHP提供了DOM、SimpleXML、XMLReader和XMLWriter等库来解析和生成XML文档。 **PHP与XML的结合** 通过PHP的XML处理函数,我们可以读取、解析XML文件,提取所需数据,然后进行处理或展示。例如,使用SimpleXML库可以...

    用PHP与XML实现网站编程

    PHP的XML扩展库提供了处理XML文档的功能,如DOMDocument类用于构建和操作DOM树,SimpleXML用于简化XML数据的读取和写入,SAX解析器用于处理大型XML文件以节省内存,以及XMLReader和XMLWriter等工具,使得PHP能轻松地...

    PHP读取XML显示到表格

    PHP提供了DOMDocument和SimpleXMLElement类来解析XML文档。DOMDocument适用于处理大型或复杂的XML文档,因为它可以构建整个文档对象模型,允许我们通过节点遍历、修改和操作XML。而SimpleXMLElement则更简单易用,...

    Flash处理XML文档数据教程

    1. **创建XML对象**:在ActionScript中,你可以使用`new XML()`来创建一个新的XML对象,并加载XML文件,例如`var myXML:XML = new XML(); myXML.load("path_to_your_xml_file.xml");`。 2. **监听加载事件**:当XML...

    PHPXML学习笔记

    在PHP中,XML提供了丰富的处理工具,使得开发者可以方便地解析、创建和操作XML文档。本笔记主要涵盖了PHP中XML的使用方法和关键概念。 ### XML基础 1. **XML结构**:XML文档由元素、属性、文本内容和命名空间等...

    PHP 的Array2xml

    2. **数组到XML的转换**:在`build()`方法中,首先会创建XML文档的根节点,然后递归地处理数组的每个元素。如果元素是数组,那么将其转换为XML元素并添加到当前元素下;如果元素是值,则作为文本内容添加到当前元素...

    利用DOM读写XML

    创建XML文档主要涉及以下几个步骤: 1. **创建DOMDocument对象**:首先,我们需要创建一个DOMDocument对象,这将是XML文档的基础。在PHP中,可以使用`DOMDocument`类来创建,例如: ```php $doc = new DOM...

    探析PHP中XML的应用.pdf

    PHP通过XML解析器,如expat,可以解析XML文档,将XML转换为PHP的数据结构,从而实现动态网页的创建。expat是一个基于事件的解析器,它将XML文档视为一系列事件,当遇到如“元素开始”、“元素结束”等事件时,会调用...

    html-把XML文件加载到table

    在旧版本的浏览器中,我们可能使用`XMLHttpRequest`发送异步请求来获取XML文件内容,然后通过`responseXML`属性访问XML文档。而在现代浏览器中,`fetch` API提供了更简洁的接口,可以配合`response.text()`或`...

    html,css,javascript,xml,php等

    **CSS(Cascading Style Sheets)** 用于控制HTML或XML文档的呈现样式,包括颜色、字体、布局和响应式设计。CSS3增加了许多新特性,如选择器的增强、多列布局、动画和过渡、以及媒体查询,使开发者能够创建更具吸引...

Global site tag (gtag.js) - Google Analytics