我有一个包含两个列表的xml文件
<bean id="reportsDef" class="XXXXXXXX">
<property name="reports">
<list>
<value>-Name A</value>
<value>Name B</value>
<value>-Name C</value>
<value>Name D</value>
<value>-Name E</value>
<value>Name F</value>
<value>Name G</value>
</list>
</property>
<property name="reportUrls">
<list>
<value></value>
<value>url B</value>
<value></value>
<value>url D</value>
<value></value>
<value>url F</value>
<value>url G</value>
</list>
</property>
</bean>
我想使用这个xml文件中的这两个列表作为extJS树的数据。 列表“reportsDEF”具有节点和叶子的标题,列表“reportUrls”具有在单击这些叶子时将打开的链接。 任何人都可以告诉我该怎么做.. 感谢..
答案 0 :(得分:0)
这种格式不是ExtJS标准创建模型的方法。因此,您的目标是创建Store并使用基于此XML的模型填充它。你怎么能实现它:
<root>
<children>
<element>
<leaf>true</leaf>
<text>detention</text>
</element>
<element>
<children>
<element>
<leaf>true</leaf>
<text>book report</text>
</element>
<element>
<leaf>true</leaf>
<text>algebra</text>
</element>
</children>
<expanded>true</expanded>
<text>homework</text>
</element>
<element>
<leaf>true</leaf>
<text>buy lottery tickets</text>
</element>
</children>
<expanded>true</expanded>
</root>
您可以扩展Ext.data.reader.Xml
类并重写readRecords
方法。在该方法中,您必须手动解析XML并返回一组模型。您可以在此处获得该课程的来源http://docs.sencha.com/extjs/5.1/5.1.0-apidocs/source/Xml.html#Ext-data-reader-Xml-method-readRecords
您始终可以使用Ext.Ajax.request
(http://docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.data.Connection-method-request)并在'success'
处理程序上手动解析数据,使用已解析的数据填充商店并将其设置为树状区域