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>