我有100个MB的大型XML文件。
是否有任何实用程序可以解析XML文件并转义字符串中的特殊字符,而无需立即将整个文件打开到内存中?
由于
答案 0 :(得分:2)
在Java中,不要使用DOM。使用SAX或StaX。如果不是在Java中,您仍然可以使用SAX与MSXML或Expat。
答案 1 :(得分:1)
以下c ++程序逐字节复制文件,并且使用的内存非常少(这使得它有点慢)。 您可以通过不刷新常常的文件来提高性能。
// 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。
答案 2 :(得分:1)