View Full Version : XML reader to read sub elements

8 Mar 2013, 3:02 PM
I need to read XML that I'm receiving through a proxy that contains sub elements.

Sample xml response:

<name>Media X</name>
<state milestone="EFP">
<state milestone="LOAD">

My proxy looks like this:

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:

fields: [

{ name: 'id', type: 'int', hidden: true, editable: false },
{ name: 'mediaName', type: 'string' },
name: 'state', hidden: true, convert: function (value, record) {

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,

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?

10 Mar 2013, 8:55 PM
You are using the convert method and not returning anything therefore the data value will be undefined. You can use the mapping config to map to a node. You can also use associations to have the states array be created as a hasMany association.