Просмотр полной версии : Загрузить весь xml
deman455
16.02.2010, 16:13
Эм, вот проблема, надо загрузить весь хмл в динамический текст.
this.childNodes[0] - грузит только первые скобки, как все загрузить, скажите пожалуйста !
point111
16.02.2010, 18:43
ну, например, организовать цикл по количеству узлов и плюсовать их в одну переменную
deman455
16.02.2010, 18:55
onFrame(2){
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
for (i=0;i<=50;i++){
_root.load.text += this.childNodes[i];
}
};
xml.load("name.xml");
}
Пишет NaN что то не получится так.
point111
16.02.2010, 19:21
а у меня твой код работает
_root.createTextField("size_txt",1,10,10,300,120);
size_txt.wordWrap = true;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
for (i=0; i<=50; i++) {
_root.size_txt.text += this.childNodes[i];
}
};
xml.load("name.xml");
текст "name.xml":
<?xml version="1.0" encoding="UTF-8"?>
<response command="settings">
<setting value=" 1"/>
</response>
<response command="settings">
<setting value=" 2"/>
</response>
<response command="settings">
<setting value=" 3"/>
</response>
point111, у xml должен быть только один корневой узел.
deman455, выводите сразу весь свой xml
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xml_onLoadHandler;
xml.load("test.xml");
function xml_onLoadHandler():Void
{
trace(this.firstChild);
}
Или вам что-то конкретное нужно достать из XML и вывести? В этом случае пример XML приведите, и того, что необходимо вывести.
point111
16.02.2010, 19:46
конкретное нужно достать из XML и вывести?
скорей всего так и есть, но человек просил конкретно ВСЁ.
ps
а почему только один корневой узел? Приведенный выше код спокойно проглотил всё, что ему подсунули, или есть какой-то стандарт?
Это стандарт XML. В AS3 уже такой файл в xml не конвертируется. Вылетит ошибка:
TypeError: Error #1088: The markup in the document following the root element must be well-formed.
Или если в IE попытаться открыть:
Only one top level element is allowed in an XML document. Error processing resource 'file:///D:/tests/test.xml'. Line 5, P...
point111
16.02.2010, 20:07
упс...
вот засада, а я частенько в одном XML делал пару корневиков с разной структурой и обращался к ним firstChild и lastChild - всё, лавочка прикрылась? lastChild в AS3 не работает?
deman455
16.02.2010, 20:22
udaaff / this.firstChild - выводит мне только первую часть xml ! вот моя xml :
<?xml version="1.0"?>
<name>Имя1,Имя2,Имя3,Имя4,Имя5,Имя6,Имя7,Имя8,Имя9,Имя10,Имя11,Имя12,Имя13,Имя14,Имя15,Имя16,Имя17,Имя18,Имя19,Имя20,Имя21,Имя22,Имя23,Имя24</name>
<allItem>item1,item2,item3</allItem>
<name>Имя 1,pass
<inform>12,23,41,11,22</inform>
</name>
<name>Имя 2,pass
<inform>12,23,41,11,22</inform>
</name>
........Т.Д...........................................
считывает только <name>Имя1,Имя2...</name>
упс...
вот засада, а я частенько в одном XML делал пару корневиков с разной структурой и обращался к ним firstChild и lastChild - всё, лавочка прикрылась? lastChild в AS3 не работает?
Для обратной совместимости сохранена DOM модель, поэтому лавочка не прикрылась. А вот использовать гораздо более удобный E4X синтаксис не получится.
deman455, добавьте корневой узел <root></root>, допустим.
deman455
16.02.2010, 20:35
udaaff, все спасибо, сам думал так сделать, но поленился )
Добавлено через 10 минут
udaaff, Появился еще один вопрос, у меня программа уже просто настроена так, что <root></root> не предусмотрен, каким образом, после загрузки xml убрать с начала, и с конца <root> ?? (в моем динамическом тексте)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.