flex - получение данных из списка xml - PullRequest
0 голосов
/ 10 августа 2011

У меня есть простой XML, как это:

<root Name="Bob" isImployed="true">
 <customer Name="Bob" id="12345">was addressed in the shopping mall</customer> 
 <Job-title>Insurance</Job-title> 
 <experience>15</experience> 
 <Question1 question="how much do you make?">35000</Question1> 
 <Question2 question="do you get a yearly bonus?">5000</Question2> 
 <Question3 question="would you be interested in our weekly plan?">yes</Question3>
</root>

Я создал XMLList, содержащий данные:

var mylist:XMLList;

Я хотел бы пройтись по всем вопросам (это больше, чем вопрос1, вопрос2 и вопрос3). некоторые из них содержат цифры (зарплата, баунс), а некоторые нет. Я ищу способ просмотреть весь список, запрашивая, является ли ответ числом или нет, и если да, - получить номер. (и сделайте некоторые вычисления с этим). Как я могу это сделать?

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Этот цикл должен пройти через этот xml, прочитать значения всех вопросов и получить те, которые являются числами:

for each (var question:XML in mylist..*) {
            if (question.hasOwnProperty("@question") && !isNaN(question.valueOf())) {
                var value:int = question.valueOf();
                // do calclulations on value
            }
        }
0 голосов
/ 10 августа 2011

Это даст вам все необходимые детали.

<mx:XML id="someXML" xmlns="">
        <root Name="Bob" isImployed="true">
            <customer Name="Bob" id="12345">was addressed in the shopping mall</customer> 
            <Job-title>Insurance</Job-title> 
            <experience>15</experience> 
            <Question1 question="how much do you make?">35000</Question1> 
            <Question2 question="do you get a yearly bonus?">5000</Question2> 
            <Question3 question="would you be interested in our weekly plan?">yes</Question3>
        </root>
    </mx:XML>
    <mx:List dataProvider="{someXML..@question}">
        <mx:itemRenderer>
            <mx:Component>
                <mx:VBox>
                    <mx:Label text="Question:     {data}" fontWeight="bold" />
                    <mx:Label text="{XML(data).parent()}" />
                    <mx:Label text="Is Number:   {isNaN(XML(data).parent())?'No':'Yes'}" />
                </mx:VBox>
            </mx:Component>
        </mx:itemRenderer>
    </mx:List>
...