php生成XML得出的结果不是我想要的,修改程序不精通,求大虾帮帮忙
时间:2010-08-24
来源:互联网
<?php
#code by jason_zhou 2010-08-18
#自动生成一个如下的XML文件
#
# <?xml version="1.0" encoding="UTF-8" ? >
# <urlset xmlns="地址">
# <url>
# <loc>地址</loc>
# <lastmod>2010-08-17</lastmod>
# <changefreq>always</changefreq>
# <priority>1.0</priority>
# </url>
# </urlset>
@header("content-type:text/html; charset=UTF-8");
//设置数据库变量
$db_host = 'localhost'; //数据库主机名称,一般都为localhost
$db_user = 'root'; //数据库用户帐号,根据个人情况而定
$db_passw = 'a123456'; //数据库用户密码,根据个人情况而定
$db_name = 'xuexi'; //数据库具体名称,以刚才创建的数据库为准
//连接数据库
$conn = mysql_connect($db_host,$db_user,$db_passw) or die ('数据库连接失败!');
//设置字符集,如utf8和gbk等,根据数据库的字符集而定
mysql_query("set names 'utf8'");
//选定数据库
mysql_select_db($db_name,$conn) or die('数据库选定失败!');
$doc=new DOMDocument("1.0","UTF-8"); #声明文档类型
$doc->formatOutput=true; #设置可以输出操作
#声明根节点,最好一个XML文件有个跟节点
$root=$doc->createElement("news"); #创建节点对象实体
$root=$doc->appendChild($root); #把节点添加进来
//$xmlns=$doc->createAttribute("links");
//$root->appendChild($xmlns);
//$xmlnsValue = $doc->createTextNode("地址"");
//$xmlns->appendChild($xmlnsValue);
$sql = "SELECT id,name FROM `content` ORDER BY `id` desc LIMIT 0,10";
$result = mysql_query($sql);
while($array = mysql_fetch_array($result)){ //循环生成节点,如果数据库调用出来就改这
//$xmlnsValue = $doc->createTextNode("地址"");
//$xmlns->appendChild($xmlnsValue);
$url=$doc->createElement("new"); #创建节点对象实体
$url=$root->appendChild($url); #把节点添加到root节点的子节点
$loc=$doc->createElement("links"); #创建节点对象实体
$loc=$url->appendChild($loc); #把节点添加到url节点的子节
//$lastmod=$doc->createElement("lastmod"); #创建节点对象实体
//$lastmod=$url->appendChild($lastmod); #把节点添加到url节点的子节
$changefreq=$doc->createElement("mytext."); #创建节点对象实体
$changefreq=$url->appendChild($changefreq); #把节点添加到url节点的子节
//$priority=$doc->createElement("priority"); #创建节点对象实体
//$priority=$url->appendChild($priority); #把节点添加到url节点的子节
$loc_url = "地址."";
$loc->appendChild($doc->createTextNode($loc_url)); #createTextNode创建内容的子节点,然后把内容添加到节点中来
//$lastmod->appendChild($doc->createTextNode(date("Y-m-d", $array['*'])));
$changefreq->appendChild($doc->createTextNode($array['name']));
//$priority->appendChild($doc->createTextNode("1.0"));
}
$doc->save("sitemap.xml"); #保存路径eg d:/ljzhen
echo "生成成功。。。。<br>";
?>
------------------------------------------------
生成得出结果是如下:
<?xml version="1.0" encoding="UTF-8"?>
<news>
<new>
<links>地址</links>
<mytext.>123123</mytext.>
</new>
</news>
---------------------------------
但是我想要的结果是如下:
<?xml version="1.0" encoding="UTF-8"?>
<news>
<new links="地址" mytext="琼海中晨丽景水岸位于海南省琼海市银海路北侧"/>
</news>
那怎么修改上面的程序呢?请大哥们帮帮忙!
#code by jason_zhou 2010-08-18
#自动生成一个如下的XML文件
#
# <?xml version="1.0" encoding="UTF-8" ? >
# <urlset xmlns="地址">
# <url>
# <loc>地址</loc>
# <lastmod>2010-08-17</lastmod>
# <changefreq>always</changefreq>
# <priority>1.0</priority>
# </url>
# </urlset>
@header("content-type:text/html; charset=UTF-8");
//设置数据库变量
$db_host = 'localhost'; //数据库主机名称,一般都为localhost
$db_user = 'root'; //数据库用户帐号,根据个人情况而定
$db_passw = 'a123456'; //数据库用户密码,根据个人情况而定
$db_name = 'xuexi'; //数据库具体名称,以刚才创建的数据库为准
//连接数据库
$conn = mysql_connect($db_host,$db_user,$db_passw) or die ('数据库连接失败!');
//设置字符集,如utf8和gbk等,根据数据库的字符集而定
mysql_query("set names 'utf8'");
//选定数据库
mysql_select_db($db_name,$conn) or die('数据库选定失败!');
$doc=new DOMDocument("1.0","UTF-8"); #声明文档类型
$doc->formatOutput=true; #设置可以输出操作
#声明根节点,最好一个XML文件有个跟节点
$root=$doc->createElement("news"); #创建节点对象实体
$root=$doc->appendChild($root); #把节点添加进来
//$xmlns=$doc->createAttribute("links");
//$root->appendChild($xmlns);
//$xmlnsValue = $doc->createTextNode("地址"");
//$xmlns->appendChild($xmlnsValue);
$sql = "SELECT id,name FROM `content` ORDER BY `id` desc LIMIT 0,10";
$result = mysql_query($sql);
while($array = mysql_fetch_array($result)){ //循环生成节点,如果数据库调用出来就改这
//$xmlnsValue = $doc->createTextNode("地址"");
//$xmlns->appendChild($xmlnsValue);
$url=$doc->createElement("new"); #创建节点对象实体
$url=$root->appendChild($url); #把节点添加到root节点的子节点
$loc=$doc->createElement("links"); #创建节点对象实体
$loc=$url->appendChild($loc); #把节点添加到url节点的子节
//$lastmod=$doc->createElement("lastmod"); #创建节点对象实体
//$lastmod=$url->appendChild($lastmod); #把节点添加到url节点的子节
$changefreq=$doc->createElement("mytext."); #创建节点对象实体
$changefreq=$url->appendChild($changefreq); #把节点添加到url节点的子节
//$priority=$doc->createElement("priority"); #创建节点对象实体
//$priority=$url->appendChild($priority); #把节点添加到url节点的子节
$loc_url = "地址."";
$loc->appendChild($doc->createTextNode($loc_url)); #createTextNode创建内容的子节点,然后把内容添加到节点中来
//$lastmod->appendChild($doc->createTextNode(date("Y-m-d", $array['*'])));
$changefreq->appendChild($doc->createTextNode($array['name']));
//$priority->appendChild($doc->createTextNode("1.0"));
}
$doc->save("sitemap.xml"); #保存路径eg d:/ljzhen
echo "生成成功。。。。<br>";
?>
------------------------------------------------
生成得出结果是如下:
<?xml version="1.0" encoding="UTF-8"?>
<news>
<new>
<links>地址</links>
<mytext.>123123</mytext.>
</new>
</news>
---------------------------------
但是我想要的结果是如下:
<?xml version="1.0" encoding="UTF-8"?>
<news>
<new links="地址" mytext="琼海中晨丽景水岸位于海南省琼海市银海路北侧"/>
</news>
那怎么修改上面的程序呢?请大哥们帮帮忙!
作者: jingzhenai 发布时间: 2010-08-24
哎。何苦自己折腾自己。直接用原生方法生成不好么...
作者: cain 发布时间: 2010-08-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28