将XML数据解析为Chart.js折线图

时间:2013-10-27 13:06:51

标签: javascript xml charts

我正在尝试将两个javascripts组合成一个,但我正在努力让它工作。我不确定我是否有可能做的事情,但我认为stackoverflow是获得帮助的最佳地点。

第一个javascript是Chart.js,特别是折线图选项。第二个脚本是w3schools的HTML脚本中的XML。

我想要做的是使用XML文件填充折线图的数据。我相应地修改了代码,但我只有非常基本的javascript知识,无法让它工作。这就是我试过的:

<canvas id="canvas1" width="350" height="300"></canvas>
<script>
   if (window.XMLHttpRequest)
   {    // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
   }
   else
   {    // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   xmlhttp.open("GET","data_chart.xml",false);
   xmlhttp.send();
   xmlDoc=xmlhttp.responseXML; 

   var x=xmlDoc.getElementsByTagName("Row")
   for (i=0;i<x.length;i++)

   var lineChartData = {
                labels : ["1","2","3","4","5"],
                datasets : [{
                     fillColor : "rgba(0,0,0,0.5)",
                     strokeColor : "rgba(0,0,0,1)",
                     pointColor : "rgba(0,0,0,1)",
                     pointStrokeColor : "#fff",
                     data : [x[i].getElementsByTagName("data_chart_1")]
                   }]
           }
   var myLine = new   
   Chart(document.getElementById("canvas1").getContext("2d")).Line(lineChartData);

</script>

因此,我们的想法是通过从XML文件lineChartData获取行data_chart_1中的所有元素来填充变量data_chart.xml的数据部分。这样的事情可能吗?我如何更新代码以使其工作?

非常感谢你的帮助。我希望我的问题很明确。

1 个答案:

答案 0 :(得分:2)

试试这个

var firstRow = xmlDoc.getElementsByTagName("Row")[0];
//console.log(firstRow);
var dataChart = firstRow.firstChild.nodeValue;
//console.log(dataChart);
var chartData = dataChart.split(",");
.......................
data : chartData