Фильтрация узлов XML в памяти без DOM? - PullRequest
2 голосов
/ 12 ноября 2011

Учитывая большой XML, я хочу иметь ЧАСТЬ структуры XML в дереве в памяти (ЭТО НЕ ДОМ !!), например, заданную

<MAIN>
    <A>
        <B>1</B>
        <C>2</C>
        <D>3</D>
            <H>7</H>
            <I>9</I>
        <E>2</D>
    </A>
    <A>
        <B>4</B>
        <C>5</C>
        <D>6</D>
            <H>3</H>
            <I>0</I>
        <E>3</D>
    </A>
</MAIN>

после того, как пользователь выберет узлы B и H,Я хочу иметь в памяти

<MAIN>
    <A>
        <B>1</B>
        <C>2</C>
        <D>3</D>
            <H>7</H>
    </A>
    <A>
        <B>4</B>
        <C>5</C>
        <D>6</D>
            <H>3</H>
    </A>
</MAIN>

иногда пользователь хочет фильтровать по содержимому узла, как все узлы B больше 3 и т. Д.

есть ли библиотека (SAX?) Дляделать такие вещи?желательно на Smalltalk, но подойдет любой другой язык.

Ответы [ 3 ]

1 голос
/ 12 ноября 2011

В VisualWorks включена библиотека SAX.

0 голосов
/ 15 ноября 2011

Процессор STX позволяет обрабатывать большой документ в потоковом режиме, но сохраняет (возможно преобразованные) части этого документа в переменных или буферах .

0 голосов
/ 12 ноября 2011

В java land, используя JDOM или DOM4J (и, возможно, также XOM), вы можете написать настраиваемый конструктор для достижения того, чего вы хотите.

Пример для DOM4J

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