Производительность XML dom и правильное его использование - PullRequest
1 голос
/ 29 января 2009

Я слышал все эти плохие вещи о DOM .. Не используйте объект Activex, XmlDom, или это "dom" ... о Боже, вы используете DOM? Что является прямым на этом использовании.

Но мы используем document.GetElementbyId и ... Имя все время ..

Так что же я на самом деле использую при вызове этих методов? Это то, что браузер использует ...

Компания, в которой я работаю, отодвигает нас от использования активного объекта x dom, но разве мы не используем его в любом случае?

Ответы [ 4 ]

3 голосов
/ 29 января 2009

Необходимо различать DOM HTML и DOM XML, а затем снова использовать DOM XML в браузере и вне его. Хотя верно то, что XML DOM занимает значительное место в памяти для больших документов, MSXML6 DOM работает очень быстро. Преобразования XSLT, а также запросы XPath могут по определению запрашивать весь документ, поэтому я не думаю, что для этого было бы легко использовать потоковый интерфейс. В браузере вы управляете HTML DOM в JavaScript. Конечно, вы можете перейти в пространство RIA, используя Flash или Silverlight, но для этого также требуется элемент управления ActiveX. Я бы порекомендовал jQuery в соответствии с предложением jonelf и максимально использовать CSS для эффектов пользовательского интерфейса.

0 голосов
/ 30 января 2009

Если вы хотите бездельничать и смотреть видео, вы можете поговорить о Yahoo YUI Theatre Дугласа Крокфорда - " Неудобный API: теория DOM ".

78 минут все о DOM!

0 голосов
/ 29 января 2009

То, что IE использует для создания штор, мне неизвестно, но вполне возможно, что GetElementById в конечном итоге использует какой-то компонент. Это все еще неплохая идея - оставить JScript ActiveX-путь позади, потому что он устарел и только JScript.

То, что я пытаюсь сказать, это то, что вы не должны беспокоиться о запросах DOM. Вся парадигма AJAX основана на этом.

Я бы также рекомендовал использовать Prototype или jQuery.

$('comments')

намного приятнее, чем

document.GetElementById('comments')
0 голосов
/ 29 января 2009

По сути, в XmlDom нет ничего плохого, но производительность для всего, кроме самого маленького XML-документа, довольно низкая. Под капотом не много (любой) код будет использовать его. Гораздо эффективнее обрабатывать Xml-документ как поток, а затем работать с ним постепенно, что и делает браузер.

Одна из причин медленной работы DOM заключается в том, что он загружает весь документ с самого начала, даже если вы ищете только первый тег - uuggh. У меня есть ощущение, что это связано с тем, как реализован механизм XSLT - сложно применить Xsl к потоку и заставить все работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...