![]() |
|
||||||||||
|
|||||
|
Доброго всем времени суток.
Предлагаю простой XML парсер. Незнаю кому как а мне он гораздо облегчил жизнь Запакован в Extension. Пример работы с парсером написан в описании Extension'а. Но на всякий случай привожу инструкцию здесь: Парсер имеет две функции: 1) XML2Objects(xml.firstChild) - функция перебирает все ветки xml документа и состовляет структуру 2) Objects2XML(StructuredData) - пробегаясь по всей структуре парсер собирает xml документ Пример работы парсера: Код:
var StructuredData;
var xml:XML = new XML();
var parser = new org.redTreeStudio.XMLUtils();
xml.ignoreWhite = true;
xml.onLoad = function() {
StructuredData = parser.XML2Objects(this.firstChild);
ResultXML = parser.Objects2XML(StructuredData);
trace(ResultXML);
};
xml.load("your_xml.xml");
Код:
<data> <video> <item> </item> <item> </item> </video> </data> Теги массивов должны быть однородными со структуре: -- НЕ ПРАВИЛЬНО: <TestData> <Item><wrongTag>Text1</wrongTag></Item> <Item>Text2</Item> </TestData> -- ПРАВИЛЬНО: <TestData> <Item>Text1</Item> <Item>Text2</Item> </TestData> Последний раз редактировалось ex.image; 02.10.2006 в 11:37. |
|
|||||
|
Et cetera
модератор
Регистрация: Sep 2002
Адрес: Moscow
Сообщений: 29,060
|
А какой смысл преобразовывать объект в объект и наоборот?
|
|
|||||
|
Смысл в том что пока не вышел Flash 9 где в AS3 есть класс XML, приходиться как то работать с хмл по корявому... данный парсер разбирает хмл и получаеться почти то же самое что в AS3.
![]() В основном я работаю с локальными приложениям, а иногда бывает нужно сохранить на каком месте остановился игрок и все это записать в XML. Shared Object не являеться выходом... так не работает на корпоративных PC или где жесткая политика безопасности ) |
|
|||||
|
Et cetera
модератор
Регистрация: Sep 2002
Адрес: Moscow
Сообщений: 29,060
|
Что-то я всё-равно не понимаю — чем не устраивает стандартный класс XML?
|
|
|||||
|
Вот один из самых лучших готовых парсеров, которыми я пользовался http://proto.layer51.com/d.aspx?f=858
Но в любом случае лучше писать самому под собственные нужды
__________________
www.maxshaman.com |
|
|||||
|
Стандартный класс XML не устраивает по причине того что нельзя вытащить данные по именам тегов, приходиться все это делать с помошью XPath (что то-же не очень удобно), либо Sibling'ами и childNodes'ами - это ваще жуть.
Да ... У них поменьше получилось )))Мой зато может еще и собирать обратно в XML. |
|
|||||
|
Цитата:
|
|
|||||
|
Et cetera
модератор
Регистрация: Sep 2002
Адрес: Moscow
Сообщений: 29,060
|
Цитата:
|
|
|||||
|
Цитата:
ну например как ты достанешь отсюда значение тега thing: Код:
<?xml version="1.0" ?> <xmltest> <item>Node 1 Text</item> <item attributeExample="Node 2 attribute"> <thing>Node 2 Child</thing> </item> </xmltest> |
|
|||||
|
Цитата:
xdoc.idMap['item'] А если у тебя десять уровней вложенности, то без id один хрен запутаешься. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:11. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|