Как написать XML с ограничением размера файла? - PullRequest
1 голос
/ 12 января 2020

Я имею дело с задачей динамического создания xml файлов, но каждый файл xml имеет ограничение в 6 МБ. При создании / заполнении файла xml я постоянно перебираю сущности "Item" в моей БД, и мне нужно их сериализовать, как показано ниже. Ниже приведен пример, и xml имеет более сложную структуру, я бы предпочел не использовать StringBuilder, если это возможно. Как я могу динамически проверить размер файла xml и создать второй файл до превышения лимита? Любые советы будут оценены!

<Root>
    <ItemList>
        <Item></Item>
        <Item></Item>
        <Item></Item>
    </ItemList>
</Root>

Ответы [ 2 ]

0 голосов
/ 12 января 2020

Попробуйте CountingOutputStream , см. API .

Оцените максимальную длину вашего <Item> элемента.

После написания каждой проверки элемента текущий записанный размер и проверьте, достаточны ли оставшиеся байты для еще одного элемента и для остальной части (</ItemList>, </Root>, пробелы, символы конца строки).

0 голосов
/ 12 января 2020

Ну, вы можете считать символы каждый раз, когда добавляете что-то. В зависимости от используемой кодировки вы знаете размер каждого символа.

Признаюсь, это ужасное решение. Но это воскресенье, и мой мозг не придумает чего-то более приятного, извините.

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