2012-05-21 82 views
13

有人可以提供一个基本的例子,如何使用d3从XML文件导入数据?如何使用d3.js导入XML数据?

我的XML文件是这样的:

<data> 
     <value>71</value> 
     <value>12</value> 
     <value>44</value> 
     <value>88</value> 
    </data> 

我怎样才能将这些值添加到数据阵列?以下是我试过到目前为止:

d3.xml("values.xml", function(xml) { 
    d3.select(xml).selectAll("data").each(function(data) { 
     d3.select(data).selectAll("value"); 
     //add data to array?; 
     }; 
}); 
    //use Array 

回答

19

传递到回调的XML对象是XML DOM(见https://github.com/mbostock/d3/wiki/Requests#wiki-d3_xml)的根元素,因此,你需要使用JavaScript XML/DOM来处理它接入设施(见http://www.hiteshagrawal.com/javascript/javascript-parsing-xml-in-javascript)。

我写了一个小例子,显示了如何使用d3.xml创建一个条形图(在原有基础上D3条形图例如http://mbostock.github.com/d3/tutorial/bar-1.html):

链接以查看例如:http://bl.ocks.org/2772585

与链接XML代码:https://gist.github.com/lgrammel/2772585