ActionScript E4X Получает атрибуты тега

#xml #actionscript-3 #e4x

#xml #actionscript-3 #e4x

Вопрос:

Я настоящий новичок, когда дело доходит до E4X, поэтому, пожалуйста, потерпите меня. Я работаю над проектом ActionScript 3.0, в котором я хотел бы извлечь все атрибуты из XML-тега.

Я использовал XML.attributes() метод, но он возвращает только значение каждого атрибута/ Я хотел бы получить все имена атрибутов и значения атрибутов для данного XML-тега.

Не мог бы кто-нибудь, пожалуйста, показать мне, как я мог бы это получить?

Спасибо за ваше время,
spryno724

Ответ №1:

Google — твой друг

 var xml:XML = <example id='123' color='blue'/>
var attNamesList:XMLList = xml.@*;

trace (attNamesList is XMLList); // true
trace (attNamesList.length()); // 2

for (var i:int = 0; i < attNamesList.length(); i  )
{ 
    trace (typeof (attNamesList[i])); // xml
    trace (attNamesList[i].nodeKind()); // attribute
    trace (attNamesList[i].name()); // id and color
} 
  

Комментарии:

1. спасибо, я тоже это видел, но мне сложно это реализовать. пока не уверен, почему. lol

2. хорошо, опубликуйте образец xml и скажите мне, какие атрибуты узла вы хотите

3. спасибо за ваши указания и готовность помочь, но я наконец-то понял это!

4. Каждый раз, когда я использую Google, я получаю ответ, который гласит «Почему вы не используете Google?». Но, слава Богу, по крайней мере, ты ответил.

5. @Veehmot ответ не является ответом без ответа, поэтому я включил ответ. Вставка ссылок не считается ответом.

Ответ №2:

XML.attributes() не только возвращает значение, вы просто видите строковую сериализацию атрибутов. Заданы attr = <foo bar="baz"/>.attributes()[0] , attr.localname() === "bar" и attr.toString() === "baz" .