سؤال

أريد قراءة ملف XML هذا باستخدام Ext.data.Model في متجر ExtJS:

<interfaces>
    <green> 
        <name>Eth0</name>
        <enabled>true</enabled>
    </green>

    <red>
        <name>Eth1</name>
        <enabled>true</enabled>
    </red>
</interfaces>

أريد إظهار "Eth0" و"Eth1" في عمود "الاسم" بشبكة الواجهات الخاصة بي.

هذا التعيين {الاسم:"الواجهة" ورسم الخرائط:'green> name'} يعرض فقط Eth0.

كيف يمكنني عمل رسم خرائط لإظهار Eth0 وEth1 في الشبكة؟لا ينبغي لي تعديل بنية ملف XML.

شكرا لك مقدما

هل كانت مفيدة؟

المحلول

ال record التكوين من XmlReader هو محدد محدد بالنسبة إلى root بطاقة شعار.

لقراءة جميع العلامات الفرعية للجذر كسجل، بغض النظر عن اسم العلامة، يمكننا تحديد جميع العلامات الفرعية باستخدام > * محدد.

Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [ 'name', 'enabled' ],
    proxy: {
        type: 'ajax',
        reader: {
            type: 'xml',
            root: 'interfaces',
            record: '> *'
        }
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top