Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 13.08.2004, 17:30
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 1  
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
По умолчанию XML 2 Object

сделал я большим потом и кровью функцию:

function xml2Object(src) {
var xmlObject = {};
var xmlSrc = new XML();
xmlSrc.ignoreWhite = true;
xmlSrc.onLoad = function() {
xmlObject = parse(xmlSrc.firstChild.firstChild, xmlObject);
xmlObject._src = src;
if (xmlSrc.firstChild.nodeName != null) {
xmlObject._fcname = xmlSrc.firstChild.nodeName;
}
if (xmlSrc.firstChild.nodeValue != null) {
xmlObject._fcvalue = xmlSrc.firstChild.nodeValue;
}
if (xmlSrc.firstChild.attributes != null) {
xmlObject._fcattributes = new Array();
for (var i in xmlSrc.firstChild.attributes) {
xmlObject._fcattributes[i] = xmlSrc.firstChild.attributes[i];
//trace("!!!"+xmlObject._fcattributes[i]);
}
}
//trace(xmlSrc.firstChild.firstChild.nodeType)
};
xmlSrc.load(""+src);
return xmlObject;
}
function parse(foo, obj) {
var ind;
var nName = foo.nodeName.toLowerCase();
var nVal = foo.nodeValue.toLowerCase();
var nAttr = foo.attributes;
trace("<"+nName+">-<"+nVal+">-<"+nAttr["attr"]+">");
if (nName != null) {
if (obj[nName] != null) {
ind = obj[nName].length;
obj[nName] = obj[nName].concat({});
trace("<"+nName+">"+obj[nName].length)
} else {
ind = 0;
obj[nName] = [{}];
//trace("<"+nName+">"+obj[nName].length)
}
}
if (foo.nVal != null) {
obj[nName][ind]._value = nVal.toString();
//trace(obj[foo.nodeName][ind]._value);
}
obj[nName][ind]._attributes = [];
for (var klop in nAttr) {
obj[nName][ind]._attributes[klop] = nAttr[klop].toString();
//trace(obj[foo.nodeName][ind]._attributes[klop])
}
if (foo.firstChild != null) {
obj[nName][ind] = parse(foo.firstChild, obj[nName][ind]);
//trace("obj["+foo.nodeName+"]["+ind+"]")
}
if (foo.nextSibling != null) {
obj[nName][ind] = parse(foo.nextSibling, obj[nName][ind]);
}
return obj;
}
var folio = xml2Object("portfolio.xml");
if (folio != null) {
trace("_value = "+folio._fcattributes[df]);
}
_______________________
XML такой:

<fst df="dfgdfg">
<item attr="some kind of attribute" attr2="some kind of attribute #2">
<image attr2="It's workin, but badly..."/>
<image attr2="It's workin!!!"/>
<txt>dfbgdfg</txt>
</item>
<item attr="some kind of"><txt>1111</txt></item>
</fst>
_______________________

Но не работает - не увеличивает переменную ind.
Крови испорчено - море. помогите, плз.
исходник приаттачен.
Вложения
Тип файла: txt makexmlobject.rar.txt (4.8 Кб, 5 просмотров)
__________________
Breakcore them all!

Создать новую тему   Часовой пояс GMT +4, время: 11:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.