我一直在阅读有关Treeview以及分层数据源和数据源的现有文档,但我对于可以与Treeview一起使用的可能的远程数据源类型感到遗憾。
除了json之外,还支持xml,对吧?是否可以绑定它并使用Treeview查看xml文件?
我一直在尝试这样的事情:
<script>
var ds = new kendo.data.DataSource({
transport: {
read: {
url:"http://localhost:8080/OnTheSpotRestfullAPI/testTree.xml"
}
},
schema: {
type: "xml",
data: "/tree/vehicles",
model: {
fields: {
car: "car/text()",
bike: "bike/text()"
}
}
}
});
$("#treeview").kendoTreeView({
dataSource: ds
});
</script>
testTree.xml为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tree>
<vehicles>
<car>FM-1100</car>
<car>FM-4200</car>
<bike>FM-3100</bike>
</vehicles>
<personnel>
<client>GH-3000</client>
<vip>GH-3100</vip>
</personnel>
</tree>
我希望生成的树类似于:
(车辆)
- (汽车)
---- FM-1100
---- FM-4200
- (自行车)
---- FM-3100
(人事)
- (客户端)
---- GH-3000
- (VIPS)
---- GH-3100
PS。 ()中的名称应该类似于包含其“子”的文件夹
但我似乎根本无法查看树..有点迷失在这里,有人可以指出我正确的方向吗?
提前致谢
答案 0 :(得分:3)
只是为了确保:你应该在加载html后执行脚本代码,所以你应该将它包含在
中<script>
$(document).ready(function () {
// The JavaScript code goes here
});
</script>
应定义数据源ds
HierarchicalDataSource
而不是DataSource
。
阅读XML示例我不确定层次结构是如何组织的(树),树的内容应该是什么。
您可以尝试以下方式:
<script>
$(document).ready(function () {
var ds = new kendo.data.HierarchicalDataSource({
transport:{
read:{
url:"testTree.xml"
}
},
schema :{
type :"xml",
data :"/tree/vehicles/car",
model:{
fields:{
text:"text()"
}
}
}
});
$("#treeview").kendoTreeView({
dataSource :ds
});
});
</script>
XML就像:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tree>
<vehicles>
<car>FM-1100</car>
<car>FM-4200</car>
<bike>FM-3100</bike>
</vehicles>
<personnel>
<client>GH-3000</client>
<vip>GH-3100</vip>
</personnel>
</tree>
注意:不确定如何处理bike