#xml #actionscript-3 #e4x
#xml #actionscript-3 #e4x
Вопрос:
Я настоящий новичок, когда дело доходит до E4X, поэтому, пожалуйста, потерпите меня. Я работаю над проектом ActionScript 3.0, в котором я хотел бы извлечь все атрибуты из XML-тега.
Я использовал XML.attributes()
метод, но он возвращает только значение каждого атрибута/ Я хотел бы получить все имена атрибутов и значения атрибутов для данного XML-тега.
Не мог бы кто-нибудь, пожалуйста, показать мне, как я мог бы это получить?
Спасибо за ваше время,
spryno724
Ответ №1:
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"
.