Я хочу создать DOM огромного XML-файла, используя синтаксический анализатор. Но DOM-парсеры - это хоггеры памяти. Поэтому я хотел знать, есть ли альтернатива для парсеров DOM, которые не будут использовать много памяти, но я могу создать DOM из нее. Также, пожалуйста, предложите, есть ли какие-либо другие эффективные алгоритмы или парсеры для обработки такой ситуации.Как создать DOM для XML без использования DOM-анализатора
ответ
Причина, по которой парсер DOM использует много памяти, объясняется тем, что DOM использует много памяти.
Существуют древовидные модели, которые занимают меньше памяти, чем DOM, например JDOM2 или XOM. Они также гораздо удобнее.
Существует множество других методов сокращения памяти, используемых при обработке XML, но все зависит от того, что вы хотите сделать с XML после его анализа.
Я хочу разделить два xml s, чтобы быть точным. Мой план состоит в том, чтобы проанализировать xml s, сохранить их как DOM и сравнить их. Поэтому после разбора я хочу сравнить xml. –
Ну, различие - это само по себе искусство. Почему бы не получить инструмент, предназначенный для работы, например DeltaXML, вместо того, чтобы пытаться изобрести колесо? И если вы хотите реализовать его самостоятельно, почему бы не использовать язык высокого уровня, предназначенный для обработки XML, например XSLT или XQuery? –
Как вы сказали, DOM является Hogger памяти, JDOM или DOM4J также имеют схожие проблемы ... Я не faimilar с JDOM2, но это, кажется, есть много сходств с JDOM ..
Основная причина Проблема памяти DOM на самом деле является неотъемлемым ограничением выделения множества небольших дискретных объектов ...
VTD-XML - это решительный отход от DOM, JDOM и DOM4J. Вместо того, чтобы выделять много мелких объектов, он выделяет большие блоки памяти внутри и позволяет значительно экономить память, сохраняя при этом большинство возможностей произвольного доступа, и XPath
Так что я предлагаю не строить DOM на все ... нет ничего, что вы можете сделать с DOM, что вы не можете с vtd-xml
- 1. создать EditText без использования XML
- 2. Как читать XML-данные без использования парсера (dom, sax)?
- 3. Элемент dom dom без использования свойств стиля?
- 4. Создать собственный пользовательский вид без использования XML
- 5. Android: создать объект ColorDrawable без использования xml
- 6. Итеративно разбора большого файла XML без использования DOM подход
- 7. Как создать XML из MSXML DOM
- 8. Как читать XML в java без DOM?
- 9. Создать xml-файл без пролога с python dom minidom
- 10. Как создать контроллер Spring без использования аннотаций?
- 11. Как создать элемент DOM без документа?
- 12. Несколько XML для DOM
- 13. Определить макет без использования Xml
- 14. xml разбор без использования браузера
- 15. ListView.setEmptyView (View) без использования XML
- 16. Xml parser/создать XML DOM-документ из списка узлов XML
- 17. Как вы можете проверить функцию Sass без использования dom?
- 18. Создать подмножество dataframe без использования для цикла
- 19. Возможно ли управлять элементами HTML без использования DOM API?
- 20. Как создать XML-строку без корневого узла?
- 21. создать XML без имен
- 22. Как создать как .xcappdata без использования xcode?
- 23. Создать Mixin без использования интерфейсов
- 24. Javascript Создать XML DOM - Объект узла
- 25. POST xml БЕЗ использования CURL
- 26. отображение текста без использования XML
- 27. Создать пространство имен xml с php dom
- 28. Как создать каталог без использования boost?
- 29. Как создать уникальный идентификатор без использования AUTOINCREMENT
- 30. Как создать Datomic раздел без использования db.part
Парсер не заполняет вашу память, но сам DOM. – wero
Хорошо. Но во время разбора он не создает много накладных расходов, которые также хранятся в памяти, кроме DOM? –
Почему парсер должен это делать? – wero