我有一个远程XML数据生成器,它发出如下内容:
<list>
<hu.qualitis.opencms.utils.db.DBFile>
<id>8dc66bf4-c39f-44c5-879d-1f3b16dc29be</id>
<name>testfile.txt</name>
...
<metadata>
<property name="lines" value="5"/>
</metadata>
</hu.qualitis.opencms.utils.db.DBFile>
</list>
我对xmlReader的定义如下
xmlReader: {
root: "list",
row: "hu\\.qualitis\\.opencms\\.utils\\.db\\.DBFile",
repeatitems: false,
id: "id"
},
这很好用。 我的问题是关于我无法访问的元数据部分。我尝试过这样的事情:
colModel :[
{name:'name', index:'name', width:60},
...
{name:'metadata>property>lines', index:'name', width:10}
],
但无济于事。
是否有可能将jqGrid XMLReader配置为读取此值,还是我被迫更改生成器?
更新
总结回答:我原来的想法是不可能实现的
最好的解决方案是使用JSON。这也会更快。
另一种解决方案是修改生成XML的代码。我将继续这样做,因为我的所有通信都基于XML
另一种解决方案是使用XSLT修改XML。
答案 0 :(得分:0)
您可以在colModel的xmlmap中访问需要在方括号[name]中指定属性名称的节点属性,例如: -
表示节点
node属性的name属性需要xmlmap:“metadata&gt; property&gt; [name]”
node属性的value属性需要xmlmap:“metadata&gt; property&gt; [value]”