Получение данных SmartGWT со сложным XML / JSON

Я использовал источник данных SmartGWT для извлечения данных из веб-службы и помещения их в ListGrid. Это хорошо сработало, потому что не было подэлементов. Однако теперь у меня есть следующая XML-структура:

<persons>
<person>
    <field1>blah</field1>
    <field2>blah2</field2>
    <tests>
        <test>
            <testName>name</testName>
            <testValue>value</testValue>
        </test>
    </tests>
    <answers>
        <answer>
            <answerField>blah</answerField>
            <answerField2>blah2</answerField2>
        </answer>
    </answers>
</person>

How would I use a datasource to put the person fields in one list grid, the test sub elements in another, and the answer sub elements in yet another? There's nothing like setSubRecordXPath and I don't see how using the value XPath would allow me to retrieve the data I need either. I also don't see how I could use multiple data sources.

Может ли кто-нибудь показать мне, как это сделать, или указать мне ресурс? Все примеры SmartGWT Showcase имели относительно простую структуру (что я видел).

Если это важно, у меня есть доступ к аннотированным классам JAXB, которые представляют эти различные поля, но я бы не знал, как их использовать в рамках SmartGWT.


person AHungerArtist    schedule 26.08.2011    source источник
comment
Возможно, я нашел ответ, переопределив метод выполнения DSCallback при вызове метода fetchData источника данных. В основном я использую getAttributeAsRecordArray для тех вещей, которые должны быть логическими записями. Все еще работаю над этим, но пока что выглядит многообещающе.   -  person AHungerArtist    schedule 26.08.2011


Ответы (1)


Вы можете переопределить метод execute DSCallback при вызове метода fetchData источника данных. В основном я использую getAttributeAsRecordArray для тех вещей, которые должны быть логическими записями. Все еще работаю над этим, но пока что выглядит многообещающе.

person NealSr    schedule 02.10.2014