Нахождение позиции вхождения узла, значения атрибутов которого у нас есть в AS3 - PullRequest
1 голос
/ 10 июня 2011

У меня есть XML

 <p id="section02_01"/>
 <p id="section02_02"/>
 <p id="section02_03"/>
 <p id="section02_04"/>
 <p id="section02_05"/>
 <p id="section02_06"/>
 <p id="section02_07"/>
     <p id="section02_08"/>

У меня есть значение id как section02_05. Как я могу найти положение соответствующего узла p, используя XML или E4X. Предположим, что корневой узел для этого.

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Если вы поняли ваш вопрос, вы можете использовать метод childIndex

var xml:XML=<xml>
<p id="section02_01"/>
 <p id="section02_02"/>
 <p id="section02_03"/>
 <p id="section02_04"/>
 <p id="section02_05"/>
 <p id="section02_06"/>
 <p id="section02_07"/>
 <p id="section02_08"/>
</xml>

trace(xml.p.(@id=="section02_05").childIndex())
0 голосов
/ 10 июня 2011

Ну, во-первых, вы можете проанализировать этот узел, используя фильтр атрибутов, как описано здесь: http://www.kirupa.com/developer/flashcs3/using_xml_as3_pg6.htm

Затем, получив этот узел, вы можете найти его позицию в дереве XML с помощью parent () n: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/XMLList.html#parent%28%29

Напишите рекурсивную функцию, которая одновременно переходит к родительскому узлу и ведет подсчет количества повторений *, а затем прекращает повторение *, когда parent () возвращает «undefined».

* Это настоящее слово?Я надеюсь, вы понимаете, о чем я.

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