выберите случайный xml-узел из xmllist в соответствии с условием - PullRequest
0 голосов
/ 20 февраля 2010

Я использую Flex Builder 3. У меня есть XML-файл, который выглядит следующим образом, обратите внимание на свойство флага. Может быть 0 или 1:

<question id="2">
    <short>OMG</short>
    <meaning>Oh My God</meaning>
    <hint>OMG did you hear they broke up?!</hint>
    <flag>0</flag>
  </question>
  <question id="3">
    <short>BTW</short>
    <meaning>By The Way</meaning>
    <hint>BTW, there's no class today</hint>
    **<flag>0</flag>**
  </question>

Я создаю список xmllist, содержащий все, и я хотел каждый раз выбирать случайный узел, только если флаг равен 0. Это означает, что у меня есть условие, и в соответствии с этим выбрать случайный узел, который соответствует этому условию. вот где я все это стараюсь:

  var countNodes:int = 25;
var i:int = int(Math.random() * 25);
var xList:XMLList = loadedXML.question[i].short;
quesLabel.text =  xList.text();
test2.text=loadedXML.question[i].meaning;

есть идеи, как выбрать случайный узел, который соответствует условию? Спасибо!

1 Ответ

1 голос
/ 20 февраля 2010

Попробуйте это:

var filteredNodes:XMLList = loadedXML.(flag==0); 
var countNodes:int = filteredNodes.length()
var i:int = int(Math.random() * countNodes);
var randomNode:XML = filteredNodes[i];
trace (randomNode.toXMLString());
...