Как найти конкретный дочерний узел в XML, используя AS3 flash - PullRequest
2 голосов
/ 02 июня 2010

У меня есть этот xml

var testXML:XML =    <family>
    <father name1="tom" age="5" ><father1 name1="test1"/><father2 name1="test2"/></father>
    <mother name1="tomylee" age="55" ><mother1/><mother2/></mother>
    <sister name1="sister1" age="35" ><sister1/><sister2/></sister>
    </family>;

Я хочу получить дочерний узел с именем1 = test1, но я знаю только семью

так что-то типа

trace (testXML.children(@name1="test1");  

Я знаю только семейный узел, я не знаю, где этот узел находится внутри отца или нет

есть ли какой-либо фильтр, который можно применить к корневому узлу, чтобы найти что-то

1 Ответ

2 голосов
/ 02 июня 2010

Используйте hasOwnProperty и некоторые логические операторы

trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "tom" ));
trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "test1" ));

Я изменил ваш XML, чтобы хотя бы показать результат

var testXML:XML =    <family>
            <father name1="tom" age="5" ><father1 name1="test1">father1</father1><father2 name1="test2"/></father>
            <mother name1="tomylee" age="55" ><mother1/><mother2/></mother>
            <sister name1="sister1" age="35" ><sister1/><sister2/></sister>
            </family>;

Трассировка для доказательства

<father name1="tom" age="5">
<father1 name1="test1">father1</father1>
<father2 name1="test2"/>
</father>

ОБНОВЛЕНИЕ: ----- ЭТО ЗДЕСЬ -> . * <- это подстановочный знак для захвата всех элементов в testXML </p>

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