一 代码
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文档中 */ ?>
二 运行结果
相关推荐
- 可以先连接数据库,查询数据,然后根据查询结果动态创建XML结构。 - 示例: ```php $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $pdo->query('SELECT * FROM ...
主要介绍了PHP实现动态创建XML文档的方法,结合实例形式分析了php针对xml格式数据的构建及文件读写相关操作技巧,需要的朋友可以参考下
这对于动态创建XML文件非常有用。 接下来,我们关注如何在PHP中自动添加XML内容。假设我们有一个已经存在的XML文件,我们可以使用DOMDocument或SimpleXMLElement来添加新的元素。以下是一个使用DOMDocument的例子:...
在这个简单的`RSS.php`示例中,我们看到了如何使用PHP动态创建一个符合RSS 2.0标准的XML文件。这个过程涉及到了DOMDocument类的使用,包括创建元素、设置属性、添加子元素以及保存XML文件。通过这种方式,开发者可以...
1. 动态生成XML:XMLwriter允许开发者在程序运行时动态创建XML结构,无需预先编写完整的XML字符串或文件。这对于需要根据用户输入或其他条件动态构建XML内容的场景非常有用。 2. 高效性能:与直接生成字符串相比,...
此外,PHP还提供了XMLWriter类用于创建XML文档。这是一个向后兼容DOM的方法,可以逐步构建XML结构,而无需一次性加载整个文档到内存。这对于处理大型或动态生成的XML数据特别有用。 ```php <?php $xmlWriter = new ...
生成XML文件则涉及创建XML元素和属性,然后保存到文件中。以下示例创建了一个简单的XML文档: ```php $xml = new DOMDocument('1.0', 'UTF-8'); $root = $xml->createElement('users'); $xml->appendChild($root); ...
PHP提供了DOM、SimpleXML、XMLReader和XMLWriter等库来解析和生成XML文档。 **PHP与XML的结合** 通过PHP的XML处理函数,我们可以读取、解析XML文件,提取所需数据,然后进行处理或展示。例如,使用SimpleXML库可以...
PHP的XML扩展库提供了处理XML文档的功能,如DOMDocument类用于构建和操作DOM树,SimpleXML用于简化XML数据的读取和写入,SAX解析器用于处理大型XML文件以节省内存,以及XMLReader和XMLWriter等工具,使得PHP能轻松地...
PHP提供了DOMDocument和SimpleXMLElement类来解析XML文档。DOMDocument适用于处理大型或复杂的XML文档,因为它可以构建整个文档对象模型,允许我们通过节点遍历、修改和操作XML。而SimpleXMLElement则更简单易用,...
1. **创建XML对象**:在ActionScript中,你可以使用`new XML()`来创建一个新的XML对象,并加载XML文件,例如`var myXML:XML = new XML(); myXML.load("path_to_your_xml_file.xml");`。 2. **监听加载事件**:当XML...
在PHP中,XML提供了丰富的处理工具,使得开发者可以方便地解析、创建和操作XML文档。本笔记主要涵盖了PHP中XML的使用方法和关键概念。 ### XML基础 1. **XML结构**:XML文档由元素、属性、文本内容和命名空间等...
2. **数组到XML的转换**:在`build()`方法中,首先会创建XML文档的根节点,然后递归地处理数组的每个元素。如果元素是数组,那么将其转换为XML元素并添加到当前元素下;如果元素是值,则作为文本内容添加到当前元素...
创建XML文档主要涉及以下几个步骤: 1. **创建DOMDocument对象**:首先,我们需要创建一个DOMDocument对象,这将是XML文档的基础。在PHP中,可以使用`DOMDocument`类来创建,例如: ```php $doc = new DOM...
PHP通过XML解析器,如expat,可以解析XML文档,将XML转换为PHP的数据结构,从而实现动态网页的创建。expat是一个基于事件的解析器,它将XML文档视为一系列事件,当遇到如“元素开始”、“元素结束”等事件时,会调用...
在旧版本的浏览器中,我们可能使用`XMLHttpRequest`发送异步请求来获取XML文件内容,然后通过`responseXML`属性访问XML文档。而在现代浏览器中,`fetch` API提供了更简洁的接口,可以配合`response.text()`或`...
**CSS(Cascading Style Sheets)** 用于控制HTML或XML文档的呈现样式,包括颜色、字体、布局和响应式设计。CSS3增加了许多新特性,如选择器的增强、多列布局、动画和过渡、以及媒体查询,使开发者能够创建更具吸引...