Я изучал алгоритм сжатия XML с именем XMill . Я пытался реализовать это сам на Java. В по этой ссылке имеется множество XML-файлов, для своего эксперимента я использовал структурный XML (содержит только теги) «EXI-Telecomp» (EXI-Telecomp_Structural.xml). Соответственно, я также сделал словарь для структурированной части, который выглядел как на картинке ниже.
Я также скачал оригинальную реализацию XMill .
EXI-Telecomp_Structural.xml - это очень большой XML (5530628 байт). У меня уходит минуты, чтобы просто просмотреть все теги один раз, не говоря уже о возможности замены тегов из словаря. Но фактическая реализация XMill делает это за считанные секунды. И согласно этой обзорной работе , эти алгоритмы занимают не более 10 секунд. В конце концов, как работают эти алгоритмы? Я имею в виду, как заменить все структурированные части (теги) XML-файла, считывание которых занимает несколько минут, за несколько секунд?