I need to read XML that I'm receiving through a proxy that contains sub elements.
Sample xml response:
Code:
<records>
<record>
<id>239</id>
<name>Media X</name>
<state milestone="EFP">
<entryDate>2013-03-08T12:13:52Z</entryDate>
<entrySize>10</entrySize>
</state>
<state milestone="LOAD">
<entryDate>2013-03-08T12:16:51Z</entryDate>
<entrySize>11</entrySize>
</state>
</record>
</records>
My proxy looks like this:
Code:
proxy: {
type: 'rest',
api: {
read: 'Routing/DataService/pipeline/'
},
reader: {
type: 'xml',
root: 'records',
record: 'record',
model: 'AM.model.Record'
}
}
Finally, my model's fields are defined:
Code:
fields: [
{ name: 'id', type: 'int', hidden: true, editable: false },
{ name: 'mediaName', type: 'string' },
{
name: 'state', hidden: true, convert: function (value, record) {
alert(value);
}
}
]
I'm not worried about having the states mapped to a particular model, though obviously that would be preferred, but at least they should be put into a javascript object. Preferably, based on my example XML,
Code:
state: [
{
milestone: "EFP",
entryDate: ...,
entrySize: ...,
},
{
milestone: "LOAD",
entryDate: ...,
entrySize: ...,
}
]
As it stands, Ext.data.reader.Xml.getNodeValue returns null.
Is there any deep reader I can use for this, or am I on my own?