![]() |
Какие есть общедоступные XML парсеры?
В проектах часто приходится работать с данными в виде XML.
Написал несколько самописных XML-парсеров. В принципе, неплохие. Но явно кто-то делал это и раньше. Какие есть удобные общедоступные XML-парсеры на AS 2.0? Просто хочу сравнить со своими. Может быть в чём-то улучшить. |
чет я сомневаюсь в рациональности писать самопальные парсеры во Flash... Напиши идентичный стандартному и проверь скорость последнего со стандартным.
|
??? вы че??? можно еще за компанию написать код, который будет разбирать swf-файлы и выводить их через Bitmap... но зачем? во флэше уже есть свой замечательный парсер и есть куча классов-оберток (назовем их так), которые автоматизируют работу парсера и делают использование этого класса более удобным. Но сам парсер ни в коем случае писать не надо!!!
|
|
Ну и зачем вам нужно перемешивать в миксере XML-объект?
|
Цитата:
Цитата:
И, кроме того, в меньшей степени зависят от порядка узлов (и наличия/отстутсвия других узлов). 2Sh@man Спасибо. Забавно, как много общего с моим парсером :) |
Я советую прочитать эту тему, прежде чем заниматься несвойственной для ООП деятельностью.
|
Оказывается, отображение XML в DOM - это несвойственная для ООП деятельность...
|
Я понимаю ещё приводить к E4X-виду, но в данном случае это придумывание какой-то фигни.
|
Увы, в AS1.0/2.0 полностью привести к E4X виду не представляется возможным. Но приблизиться - можно.
А такая "фигня", кстати, давным давно используется в JavaScript. |
Цитата:
|
Кто сильно жаждет следовать парадигме тру-ООП - пусть следует.
Пусть для разбора простенького конфиг-файла ему потребуется 20-30 классов. Зато тру. Меня вполне удовлетворяет и недо-ООП, где некоторые объекты применяются не как объекты, а как хеш-таблицы с дот-нотацией. P.S. Правда, тогда не совсем ясно, почему E4X - это тру? |
Потому что E4X есть отдельный стандарт. К тому же, он преобразуется в AS-код.
|
А если DOM преобразовали в AS-код - это плохо?
Кстати, чисто внешне, за редкими исключениями, никто даже и не заметит разницу. |
Я говорю о том, что при создании вот таких вот «аналогов» ни о какой мало-мальски типизации даже речи быть не может.
|
А как в E4X поддерживается типизация?
|
E4X сам по себе является стандартом ;)
типизация, наверное, имеется в виду, что все будут использовать этот класс для всех случаев... |
Цитата:
Цитата:
Во-вторых, под типизацией скорей всё же подразумевалось, что редактор/компилятор смогут чётко определить тип и, соответственно, список членов. И в случае опечатки - сообщить об этом. Но боюсь, при использовании E4X это не выйдет. Максимум - в процесе выполнения вывалит исключение. |
Цитата:
|
А если в "аналоге" каждый объект так же принадлежит строго одному классу (правда называется иначе)?
Правда класс, само собой, dynamic. Без этого никак. |
В E4X нет динамических классов. Что-то подобное можно реализовать в AS2, используя __resolve.
|
1. Можно подумать большая разница (в плане чистоты ООП)!
2. В AS2 нельзя использовать __resolve для нединамических классов. |
1. Безусловно. Динамика должна быть там, где она действительно необходима;
2. Ну вот я к тому и клоню, что нерентабельно это. Впрочем, делайте как хотите, я не заставляю не делать этого :D |
|
Да, XPath хорошая штука. Правда, к сожалению, не очень шустрая.
|
| Часовой пояс GMT +4, время: 07:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.