在大的XML文件转义字符(Escaping characters in large XML file

2019-10-18 11:52发布

我有MB的100S的大型XML文件。

有没有可以解析XML文件和逃避串特殊的字符,而无需打开整个文件到内存在一次任意的事业吗?

谢谢

Answer 1:

下面的C ++程序复制由字节文件字节,它使用非常少的存储器(这使得它有一点慢)。 您可以通过提高不冲水发送到outfile中,往往表现。

// copy a file using associated buffer's members
#include <fstream>
using namespace std;

int main () {
    char ch;
    ifstream infile;
    ofstream outfile;

    infile.open ("original.xml",std::ifstream::binary);
    outfile.open ("copy.xml",std::ofstream::binary);

    while ( !infile.eof() )
    {
        infile >> ch;
        outfile << ch;
        outfile.flush();
    }

    outfile.close();
    infile.close();

    return 0;
}

如果你想要一个UNIX工具,我想你可以使用SED 。



Answer 2:

在Java中,不使用DOM。 使用SAX或STAX。 如果没有在Java中,你仍然可以使用SAX要么MSXML或外籍人士。



Answer 3:

SAX和StAX的可能工作,如果你做的东西很简单,否则,VTD-XML是最好的选择

简介VTD-XML



文章来源: Escaping characters in large XML files
标签: xml parsing