XML 文档只能有一个顶层元素 急救

dhc_6huoCangLong 2010-08-20 09:13:20
我有两个数据库 当我用a数据库时程序正常运行 当我用b数据库时 提示“XML 文档只能有一个顶层元素” 怎么回事呢
...全文
675 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dhc_6huocanglong 的回复:]

echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<data>\n".loadHelp().loadNotice($obj).loadTaskDatas().loadShop($obj).loadPersonInfo($obj,$uid).$obj->initDate()."\n</data>";



function loadPer……
[/Quote]

生成的文件用记事本打开看看是否乱码?
WIN系统的ANSI 文件 里面的换行时用 “\r\n” 而不是“\n”
jlzan1314 2010-08-27
  • 打赏
  • 举报
回复
<data><![CDATA[
把那些php代码放这里
]]></data>

还有我估计:你代码报错了,导致</data>标签
或者你代码中产生了</data>导致xml提前结束了,


请把"<?xml version=\"1.0\" encoding=\"gb2312\"?>" 去掉看看源代码生成什么,再解决.
CunningBoy 2010-08-22
  • 打赏
  • 举报
回复
MySQL试试这个

SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROM information_schema.columns
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
请问 能否从大量表中找出有某个字段的表

比如有200个表 我想找 带有 uid 和 mail两个字段的表

怎么找 呵呵 谢谢你们
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
总之 我很感谢你 呵呵 半天了 你一直在帮我 谢谢你 希望你天天快乐
我再看看吧 哎 好愁人
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
可能是a数据库中的表 比如叫a_x
但是b数据库中没有这个表
而查询语句都是一样的 即连接b数据库也会查询a_x这个表 是不是查不到数据啊 呵呵
但是客户还不让将a中的表copy到b中。。。。我日啊
CunningBoy 2010-08-20
  • 打赏
  • 举报
回复
mysql_num_rows()这句有问题,实际上应该是你前面的数据库查询就有问题,或者数据库b的连接有问题。
你贴的代码中没有数据库查询这段
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
是两个编码选择一样的数据库 连接a数据库就没问题 连接b数据库就有问题

最后出错页面提示的warning信息也没显示全
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
XML 文档只能有一个顶层元素。处理资源 'http://127.0.0.1/supesite/gy/load_static_data.php' 时出错。第 2 行,位置: 2

<b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>D:\AppServ...
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
我都在函数进入时 就加了 return "<hi />\n";
还是有问题
关键是这个问题在我连接另一个数据时就没有。。。。
CunningBoy 2010-08-20
  • 打赏
  • 举报
回复
还有其他函数loadHelp(),loadNotice($obj)什么的,你有没有修改?有没有同样的问题?
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
帮忙啊 大哥们
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
但是我将其改为
function loadPersonInfo($a,$b){
return "<hi />\n";


还是问题一样的。。。。
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
哦 呵呵 谢谢你
CunningBoy 2010-08-20
  • 打赏
  • 举报
回复
你的代码在$arr没有值得情况下,xml节点的组合没有/>结尾,会出错的。
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
我把查询注释掉试试?
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<data>\n".loadHelp().loadNotice($obj).loadTaskDatas().loadShop($obj).loadPersonInfo($obj,$uid).$obj->initDate()."\n</data>";



function loadPersonInfo($a,$b){
$arr = $a -> individualInfo($b);
$task = $a -> getTaskStatus($b);
$strs = " <person_info ";
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr[$i]);$j++){
$strs .= "dt".$j."=\"".$arr[$i][$j]."\" ";
}
$strs .= " dt15=\"$task\" />";
}
return $strs;
}
blue_blue_163 2010-08-20
  • 打赏
  • 举报
回复
代码贴出来看看
CunningBoy 2010-08-20
  • 打赏
  • 举报
回复
b数据库是不是查询出了多条数据,然后xml输出的时候形成了多个顶层节点?

代码贴出来看看
dhc_6huoCangLong 2010-08-20
  • 打赏
  • 举报
回复
a b数据库编码设置一样

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧