Работа с пространствами имен в E4X - PullRequest
0 голосов
/ 15 декабря 2011

Я пытаюсь получить данные из XML-файла с пространством имен в приложении Flex. Существует корневое пространство имен (xmlns = "blah") и другое пространство имен (xmlns: i = "blah"), и я могу получить доступ к большинству тегов, используя следующее:

var ns:Namespace = doc.namespace();
var result:XMLList = doc.ns::element;

Однако, есть несколько тегов, которые могут быть изменены в приложении, и я бы не хотел их жестко кодировать, возможно, используя метод elements:

var result:XMLList = doc.elements(configuredField);

Есть ли способ получить элементы с пространствами имен, используя метод elements, или аналогичный способ получить элементы XML во flex, используя параметр?

1 Ответ

1 голос
/ 20 января 2012

Если я вас понимаю, вы можете получить узлы, используя динамические свойства ( [] нотация).

var x:XML=
<root xmlns:i="testNS">
    <elem1>
        hhh
    </elem1>
    <i:elem2>
        123123
    </i:elem2>
</root>;
var elemName:String="elem2";
var ns:Namespace=x.namespace("i");
var tags:*=x.ns::[elemName]; //will contain all "elem2" tags in "i" namespace
...