关于使用FusionCharts生成图表时出现invalid xml data错误提示的解决方法

10 篇文章 0 订阅
5 篇文章 0 订阅

http://www.itokit.com/2011/1017/72360.html



FusionCharts的确功能是够强大的。收集的功能估计更强大。在初次使用时,对着手册,一步一步操作,就是生成图表工具不成功。一直报“Invalid xml data”错误。
FusionCharts的确功能是够强大的。收集的功能估计更强大。在初次使用时,对着手册,一步一步操作,就是生成图表工具不成功。一直报“Invalid xml data”错误。

后面排查,发现可能有以下几个问题。

1、xml文件格式问题。特别是配对符号。确保访问时,是OK的。

2、XML文件的BOM问题。如果xml文件里有中文,一定要记得增加BOM。在Dreamweaver里增加,是打开xml文件->‘修改’菜单->‘页面属性’->‘标题/编码’->‘包括 Unicode 签名(BOM)’前面的复选框选中。然后点确定。这样中文的xml报这个错误即可解决。

顺便告诉大家一个小技巧。就是我们在写程序包含xml文件时,都是
myChart.setDataURL("/data.xml"); 
但是我们的数据基本上都是动态生成的。其实我们可以包含一个php程序。然后通过php程序输出xml。这样就可以很好的达到目的了。
如:
myChart.setDataURL("/charts_ajax_show.php");

然后charts_ajax_show.php程序如下:
PHP Code 复制内容到剪贴板
  1. <?php   
  2. header("Content-type:text/xml;charset=utf-8");   
  3. echo "<?xml version='1.0' encoding='utf-8'?>";   
  4. echo "<graph caption='每月销售额柱形图' xAxisName='月份' yAxisName='unit' showNames='1' decimalPrecision='0' formatNumberScale='0'>  
  5. <set name='一月' value='462' color='AFD8F8' hoverText='一月销售额' />  
  6. <set name='二月' value='857' color='F6BD0F' showName='0' />  
  7. <set name='三月' value='671' color='8BBA00' />  
  8. <set name='四月' value='494' color='FF8E46' />  
  9. <set name='五月' value='761' color='008E8E' />  
  10. <set name='六月' value='960' color='D64646' />  
  11. <set name='七月' value='629' color='8E468E' />  
  12. <set name='八月' value='622' color='588526' />  
  13. <set name='九月' value='376' color='B3AA00' />  
  14. <set name='十月' value='494' color='008ED6' />  
  15. <set name='十一月' value='761' color='9D080D' />  
  16. <set name='十二月' value='960' color='A186BE' />  
  17. </graph>";  

注意我php程序里有一句代码:
PHP Code 复制内容到剪贴板
  1. header("Content-type:text/xml;charset=utf-8");  

text/xml意思就是告诉浏览器要输出xml。如果不加这个。肯定就是不行的哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值