日期:2014-05-17  浏览次数:20752 次

FusionCharts中出现的invalid XML Data的问题
这是我在Action页面写的Java方法:

List<Monitordetail> list=traffic.CountIp();
String xml1="<?xml version='1.0' encoding='GB2312' standalone='no'?><chart palette='2'>";
for (int j = 0; j < list.size(); j++) {
    xml1+="<set label='"+String.valueOf(list.get(j).getTypename())+"' value='"+String.valueOf(list.get(j).getIpCount())+"' />";
   }
xml1+="<Chart>";
session.setAttribute("trafficfile", xml1);
这是我在jsp页面写的:
 <script type="text/javascript">
  var chart = new FusionCharts("../Charts/Doughnut2D.swf", "ChartId", "450", "300", "0", "0");
                  alert("<%=session.getAttribute("trafficfile")%>");
  chart.setDataXML("<%=session.getAttribute("trafficfile")%>");
  chart.render("chartdiv");
</script>
已经弹出了session.getAttribute("trafficfile")的值,得到了数据。可是在浏览器页面却没有出现报表图,出现Invalid XML Data几个单词,为什么不出现,求大神解释。
------解决方案--------------------
xml格式有问题吧 
xml1+="<Chart>";这个是不是应该写成 </chart>呢  我只是猜测 
------解决方案--------------------
XML文件写错了,结尾<Chart>应该是</Chart>