Используйте AS3 для анализа атрибута узла XML с двоеточием - PullRequest
0 голосов
/ 28 марта 2012

У меня есть следующий XML-документ:

<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head></head>
<body>
<div xml:lang="it">
<p begin="00:00:00" end="00:00:02" style="violet">first</p>
</div>
</body>
</tt>

Я успешно загружаю содержимое в мой флэш-объект, используя AS3.Но как вывести / отследить значение атрибута в <div xml:lang="it">?Когда я пробую код:

trace(myxml.children()[1].children()[0].@xml:lang);

Компилятор жалуется на синтаксическую ошибку, представленную двоеточием.

Ответы [ 3 ]

3 голосов
/ 28 марта 2012

В вашем xml нет пространства имен 'xml'. Возможно, вы пропустили это. Должно быть что-то вроде этого:

<tt xmlns:xml="http://blabla.com" ... xml:lang="en">

Затем необходимо объявить Пространство имен экземпляр для доступа к атрибутам xml, теги для этого пространства имен:

var ns:Namespace = new Namespace("xml","http://blabla.com") ;

Тогда вы можете использовать этот код для доступа к атрибуту:

trace(myxml.children()[1].children()[0].@ns::lang);
1 голос
/ 28 марта 2012
1 голос
/ 28 марта 2012

Возможно использование: .attribute('xml:lang') instead of .@xml:lang

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/XML.html#attribute()

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