如何编写具有文件大小限制的 XML?

Posted

技术标签:

【中文标题】如何编写具有文件大小限制的 XML?【英文标题】:How to write XML with file size limitation? 【发布时间】:2020-01-12 16:27:54 【问题描述】:

我正在处理动态创建 xml 文件的任务,但每个 xml 文件的文件限制为 6 MB。创建/填充 xml 文件时,我不断迭代数据库中的“项目”实体,我需要像下面的结构一样对它们进行序列化。下面是示例,xml 具有更复杂的结构,如果可能,我不希望使用 StringBuilder。如何动态检查 xml 文件的大小并在超出限制之前创建第二个文件?任何提示将不胜感激!

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

【问题讨论】:

【参考方案1】:

嗯,您可以在每次添加内容时数数符号。根据使用的编码,您知道每个符号的大小。

我承认,这是一个丑陋的解决方案。但是今天是星期天,我的大脑不会想出更好的东西,抱歉。

【讨论】:

【参考方案2】:

试试CountingOutputStream,见API。

估计&lt;Item&gt; 元素的最大长度。

在写入每个项目后,检查当前写入的大小,并检查剩余字节是否足以容纳另一个项目和剩余部分(&lt;/ItemList&gt;&lt;/Root&gt;、空格、行尾字符)。

【讨论】:

以上是关于如何编写具有文件大小限制的 XML?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux中创建具有给定大小的文件?

vista下如何设置IIS的上传文件大小

易语言如何编写设置文件夹大小

如何限制lighttpd 上传文件的大小

如何解决IIS7上传文件大小限制

Fortran如何编写非零元素