Проблема с отображением графика из данных XML - PullRequest
0 голосов
/ 06 января 2010

У меня есть что-то вроде этих данных XML

<data>
<result month="Jan-04">
    <employee id="1">
        <a>81768</a>
        <b>60310</b>
        <c>43357</c>
    </employee>
    <employee id="2">
        <a>81768</a>
        <b>60310</b>
        <te>43357</c>
    </employee>
</result>
<result month="Feb-04">
    <employee id="1">
        <a>81156</a>
        <b>58883</b>
        <c>49280</c>
    </employee>
    <employee id="2">
        <a>81768</a>
        <b>60310</b>
        <c>43357</c>
    </employee>
</result>

Я хочу отобразить линейный график с месяцем по горизонтальной оси и a, b, c как ряд для сотрудника с id == 1.Следующий код не отображает никаких данных на графике.Может ли кто-нибудь указать на ошибку?

<mx:HTTPService id="srv" url="D:/data.xml" useProxy="false" result="myData=ArrayCollection(srv.lastResult.data.result)"/> 
<mx:Panel title="Line Chart">
 <mx:LineChart id="myChart" 
    showDataTips="true"
  enabled="true" dataProvider="{myData}">
    <mx:horizontalAxis>
       <mx:CategoryAxis categoryField="month"/>
    </mx:horizontalAxis>
    <mx:series>
       <mx:LineSeries yField="employee[0].a" displayName="A" name="a"/>
       <mx:LineSeries yField="employee[0].b" displayName="B" name="b"/>
       <mx:LineSeries yField="employee[0].c" displayName="C" name="c"/>
    </mx:series>
 </mx:LineChart>
 <mx:Legend dataProvider="{myChart}"/>     

1 Ответ

0 голосов
/ 08 января 2010

очень трудно использовать XML непосредственно в диаграммах, когда у вас есть данные в более чем двухуровневой вложенности. в приведенном выше xml-файле данные находятся на 3 уровне вложенности. то, что вам нужно сделать, это преобразовать XML с помощью e4x в двухуровневое вложение

* 1003 например *

<result month="Jan-04">
    <a empId="1">81768</a>
    <b empId="1">60310</b>
    <c empId="1">43357</c>
    <a empId="2">81768</a>
    <b empId="2">60310</b>
    <c empId="2">43357</c>

либо поместите исходные данные в этот формат, чтобы преобразовать полученный XML-файл во flex во что-то, как показано выше, тогда вы можете легко использовать его с диаграммами.

Другая проблема для вашего HTTPService: resultFormat - это объект по умолчанию. когда формат результата - объект, и вы передаете xml, иерархия объектов в event.result немного отличается от той, что вы видите в исходном xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...