想从mysql数据库里读数据,然后写如下xml文件:<?xml version="1.0"?>
<thumbnails>
<thumbnail filename="136603258275783.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTQxNzc4ODg.html"/>
<thumbnail filename="136421346392337.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjEwMzM.html"/>
<thumbnail filename="136421349294580.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5Njk2MzQ.html"/>
<thumbnail filename="136421354756516.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5Njg1OTE.html"/>
<thumbnail filename="136421359617912.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjcyMDM2.html"/>
<thumbnail filename="136421362461256.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjAwNzQ.html"/>
<thumbnail filename="136421365264950.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NTg4MDI.html"/>
<thumbnail filename="136603894126951.jpg" label="微笑" url="http://v.youku.com/v_show/id_XNTM4NjQyNTQw.html"/>
</thumbnails>
该如何操作呢?我尝试过如下方法:include("conn.php");
include("crop.php");mysql_select_db('hdm0910283_db', $lnk) or die ('Can\'t use hdm0910283_db : ' . mysql_error());
mysql_query("SET NAMES gbk");
$sql="select * from video";
$query=mysql_query($sql);
$str="<?xml version=\"1.0\"?>\r<thumbnails>";
while ($row = mysql_fetch_array($query)) {
//echo $row[imgname];
$imageurl="../workshow/images/".$row[imgname];
cutphoto("$imageurl","$imageurl",200,113);
$str=$str."\r<thumbnail filename=\"".$row[imgname]."\" label=\"".$row[title]."\" url=\"".$row[url]. "\"/>";
}
$str=$str."\r</thumbnails>";//header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$fp = fopen("../workshow/xml/thumbnails.xml", "w"); //新建xml文件
fwrite($fp, $str); //写入-------xml文件
fclose($fp)但写出来的xml文件样式看着是没问题,但用flash读取的时候就有问题,每次都要手动修改一下文件,比如加一个回车再删除,然后再保存文件就可以了,困惑啊。各位大侠有什么别的好办法吗?
另外,我还用过如下方法:include("conn.php");
include("crop.php");mysql_select_db('hdm0910283_db', $lnk) or die ('Can\'t use hdm0910283_db : ' . mysql_error());
mysql_query("SET NAMES gbk");
$sql="select * from video";
$query=mysql_query($sql);
$str="<thumbnails>";
while ($row = mysql_fetch_array($query)) {
//echo $row[imgname];
$imageurl="../workshow/images/".$row[imgname];
cutphoto("$imageurl","$imageurl",200,113);
$str=$str."<thumbnail filename=\"".$row[imgname]."\" label=\"".$row[title]."\" url=\"".$row[url]. "\"/>";
//echo $row[imgname];
}
$str=$str."</thumbnails>";
header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$xml = simplexml_load_file("../workshow/xml/thumbnails.xml"); //读取xml文件
$str=$xml->asXML(); //标准化$xml
$fp = fopen("../workshow/xml/thumbnails.xml", "w"); //新建xml文件
fputs($fp, $str); //写入-------xml文件
fclose($fp);但每次执行后,xml文件没有任何改变谢谢各位,帮帮忙
<thumbnails>
<thumbnail filename="136603258275783.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTQxNzc4ODg.html"/>
<thumbnail filename="136421346392337.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjEwMzM.html"/>
<thumbnail filename="136421349294580.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5Njk2MzQ.html"/>
<thumbnail filename="136421354756516.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5Njg1OTE.html"/>
<thumbnail filename="136421359617912.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjcyMDM2.html"/>
<thumbnail filename="136421362461256.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NjAwNzQ.html"/>
<thumbnail filename="136421365264950.jpg" label="测试" url="http://v.youku.com/v_show/id_XNTI5NTg4MDI.html"/>
<thumbnail filename="136603894126951.jpg" label="微笑" url="http://v.youku.com/v_show/id_XNTM4NjQyNTQw.html"/>
</thumbnails>
该如何操作呢?我尝试过如下方法:include("conn.php");
include("crop.php");mysql_select_db('hdm0910283_db', $lnk) or die ('Can\'t use hdm0910283_db : ' . mysql_error());
mysql_query("SET NAMES gbk");
$sql="select * from video";
$query=mysql_query($sql);
$str="<?xml version=\"1.0\"?>\r<thumbnails>";
while ($row = mysql_fetch_array($query)) {
//echo $row[imgname];
$imageurl="../workshow/images/".$row[imgname];
cutphoto("$imageurl","$imageurl",200,113);
$str=$str."\r<thumbnail filename=\"".$row[imgname]."\" label=\"".$row[title]."\" url=\"".$row[url]. "\"/>";
}
$str=$str."\r</thumbnails>";//header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$fp = fopen("../workshow/xml/thumbnails.xml", "w"); //新建xml文件
fwrite($fp, $str); //写入-------xml文件
fclose($fp)但写出来的xml文件样式看着是没问题,但用flash读取的时候就有问题,每次都要手动修改一下文件,比如加一个回车再删除,然后再保存文件就可以了,困惑啊。各位大侠有什么别的好办法吗?
另外,我还用过如下方法:include("conn.php");
include("crop.php");mysql_select_db('hdm0910283_db', $lnk) or die ('Can\'t use hdm0910283_db : ' . mysql_error());
mysql_query("SET NAMES gbk");
$sql="select * from video";
$query=mysql_query($sql);
$str="<thumbnails>";
while ($row = mysql_fetch_array($query)) {
//echo $row[imgname];
$imageurl="../workshow/images/".$row[imgname];
cutphoto("$imageurl","$imageurl",200,113);
$str=$str."<thumbnail filename=\"".$row[imgname]."\" label=\"".$row[title]."\" url=\"".$row[url]. "\"/>";
//echo $row[imgname];
}
$str=$str."</thumbnails>";
header("content-type:text/html; charset=utf-8"); //指定PHP使用UTF-8编码
$xml = simplexml_load_file("../workshow/xml/thumbnails.xml"); //读取xml文件
$str=$xml->asXML(); //标准化$xml
$fp = fopen("../workshow/xml/thumbnails.xml", "w"); //新建xml文件
fputs($fp, $str); //写入-------xml文件
fclose($fp);但每次执行后,xml文件没有任何改变谢谢各位,帮帮忙
常识这样标识XML头 $str="<?xml version=\"1.0\" encoding=\"GB2312\" ?>\r<thumbnails>";
<thumbnails>
<?php 链接数据库?>
<?php foreach(xx in xx){?>
<thumbnail filename="<?php echo xxx?>" label="微笑" url="http://v.youku.com/v_show/id_XNTM4NjQyNTQw.html"/>
<?php }?>
</thumbnails>然后在在你刚才的php里面file_get_contents 这个php 在存起来 这样格式就不用那么累了,呵呵
1、删去 \r ! 包括所有向 $str 赋值的串中的 \r
2、你的 XML 声明中没有字符集声明,将会以默认的 utf-8 处理文档内容,如果内容是 gbk 的将会出现错误
为此 mysql_query("SET NAMES gbk"); 应改为
mysql_query("SET NAMES utf8");
3、你在将 $str 写入文件前有 $str=$xml->asXML();
那么查询数据库和构造XML串不是白忙活了吗?
$dom = new DomDocument('1.0', 'GBK');
$dom->formatOutput=true;
$root = $dom->createElement("thumbnails");
mysql_select_db('hdm0910283_db', $lnk) or die ('Can\'t use hdm0910283_db : ' . mysql_error());
mysql_query("SET NAMES gbk");
$sql="select * from video";
$query=mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
$yourRec = $dom->createElement("thumbnail");
$yourRec = $root->appendChild($yourRec);
$yourRec->setAttribute('filename', $row[imgname]);
$yourRec->setAttribute('label', $row[title]);
$yourRec->setAttribute('url', $row[url]);
}
$dom->save($xmlFile);
<?xml version="1.0" encoding="utf-8"?>