以 id="key" value="value" 属性格式读取 XML?

5 xml extjs extjs4

如何将属性格式的 XML 读入 ExtJS 存储,其中键/值在一行中指定为 id/value?我更熟悉下面给出的第二种格式。

<?xml version="1.0" encoding="UTF-8"?>
<XMLResponse>
    <数据>
        <行>
            <column id="title" value="星球大战"/>
            <column id="director" value="卢卡斯"/>
            <column id="year" value="1977"/>
        </行>
        <行>
            <column id="title" value="Jaws"/>
            <column id="director" value="斯皮尔伯格"/>
            <column id="year" value="1975"/>
        </行>
    </数据>
</XMLResponse>

更传统的 XML 编写方式。

<?xml version="1.0" encoding="UTF-8"?>
<XMLResponse>
    <数据>
        <行>
            <title>星球大战</title>
            <导演>卢卡斯</导演>
            <year>1977</year>
        </行>
        <行>
            <title>大颚</title>
            <director>斯皮尔伯格</director>
            <year>1975</year>
        </行>
    </数据>
</XMLResponse>

hop*_*per 4

它没有很好的记录,但字段的映射可以是Ext.dom.Query接受的任何表达式。因此,如果您通常有一个简单的“title”映射来选择名为“title”的子标签,则可以包含一个更复杂的选择器。在这种情况下,您想要选择“列”标签的“值”属性,其 ID 属性与您要查找的字段名称匹配,因此在模型或商店中,您可以像这样定义字段:

fields: [
    { name: 'title', mapping: 'column[id=title]@value' },
    { name: 'director', mapping: 'column[id=director]@value' },
    { name: 'year', mapping: 'column[id=year]@value' }
],
Run Code Online (Sandbox Code Playgroud)