Поставил libxml2. Посмотрел, что там и как. Изменения на уровне DOM минимальны, за одним исключением: libxml2 "честнее" парсит xml, то есть, сохраняет всё форматирование, которое встречается в исходном тексте (libxml1 для содержимого XML_TEXT_NODE, например, выполняет trim()). С этим поэтому пришлось немного повозиться, ибо сразу ситуация с форматированием была неочевидна.
PS: наблюдение. Заметил, что несмотря на обилие указателей в структурах libxml, библиотека очень экономна в отношении используемой памяти (есть подозорение, что xml загружается целиком, потом размечается 0x00 и указателями, при необходимости создавая дополнительные копии). Заметил это, разбираясь с содержимым xmlNode и xmlAttr.
PPS: xmlReader еще не смотрел.
Комментариев нет:
Отправить комментарий