![]() |
Самый быстрый xml parser
Мне нужен XML парсер, чтобы парсить тяжелые XML.
Подскажите где достать самый быстрый xml parser Заранее спасибо. |
Самый быстрый *— встроенный.
И во что он должен парсить? |
в Object было бы неплохо.
XML2Object, например, парсит файл размером 80 кб за 450 мс, а мне мах 250 надо! Нашел прототип, работает быстрее но меньше 300 не получается :( Код:
XML.prototype.toObject = function () |
Гораздо удобнее было бы похожий метод ХMLNod"у приделать, если уже так сильно нужно. А еще проще - вообще ничего никуда не парсить, ХМЛ сам по себе и так нормально структурирован, зачем усложнять?
Код:
XMLNode.prototype.__resolve = function(p):Object { |
Просто xml файл слишком большой, чтобы его вручную разбирать, а загвоздка в том, что нужен универсальный парсер для тегов и аттрибутов.
|
Ну дык ХМЛ - это уже готовый объект с уже написаными, описанными и хорошо работающими свойствами/методами. Зачем его еще во что-то переделывать? А самое главное, что если вы дождались онЛоада, то это значит, что ХМЛ уже 1 раз парсился (получаете-то вы строку, а не ХМЛ)!
Вот, немного переделал код выше, я думаю, что это то, что мешало (длинные имена) а не плохая структура. Код:
XMLNode.prototype.__resolve = function(p):Object { |
Не совсем по теме...
А как длина имени влияет на скорость кода? |
Цитата:
Код:
<root>После того как перегнали в объект: obj.asdf.nodeName т.е. получается доступ по имени, а не по номеру. |
Цитата:
Т.е. если вы сможете написать код, который после события onData() ХМЛя выполнится быстрее, чем onLoad() и создаст объект копирующий структуру загруженного ХМЛЯ - я буду вам дико завидовать. =) Но я не верю, что это возможно даже теоретически =) В любом другом случае, на мой взгляд, операция по превращению ХМЛя во что-то другое лишена смысла. А если вас не устраивают названия методов childNodes и attributes - дык, я не думаю, что можно от них "избавиться" более практично, чем это сделано в моем коде... udaaf: А что ты будешь делать, если получишь такой ХМЛ? Код:
<root> |
Вообще idMap рулит, чтобы не нагружать мозг для придумывания оригинальных названий можно иметь одинаковые, но это при условии что вы написали класс обрабатывающий хмл и возвращающий нод в виде хмл объекта, что по сути не представляет большой проблемы. Лично я вижу несколько плюсов в написании такого класса.
|
| Часовой пояс GMT +4, время: 12:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.