flex - получение данных из списка xml

У меня есть простой 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 ответа

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

for each (var question:XML in mylist..*) {
            if (question.hasOwnProperty("@question") && !isNaN(question.valueOf())) {
                var value:int = question.valueOf();
                // do calclulations on value
            }
        }

Это должно дать вам все детали, которые вам нужны.

<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>
Другие вопросы по тегам