2009-11-29 2 views

Répondre

1

Les C++ suivantes copies du programme d'un octet par octet de fichier, et il utilise très peu de mémoire (ce qui le rend un peu lent). Vous pouvez améliorer les performances en ne vidant pas trop souvent le fichier de sortie.

// 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; 
} 

Si vous voulez un outil unix, je suppose que vous pouvez utiliser sed.

+0

étendu Merci, je vais voir si je peux pirater quelque chose avec cela. –

+0

sed n'est pas l'outil approprié pour ce .. – ghostdog74

+0

Ceci est juste un programme de copie de fichier, pas un analyseur XML. –

2

En Java, ne pas utiliser le DOM. Utilisez SAX ou StaX. Si ce n'est pas en Java, vous pouvez toujours utiliser SAX soit avec MSXML ou avec Expat.

+0

Ou libxml nulle part ailleurs: http://xmlsoft.org/ –

+0

vtd -xml ou VTD-XML –

1

SAX et Stax peut fonctionner si les choses que vous faites est très simple, sinon, VTD-XML est le meilleur pari

Introduction to VTD-XML

+1

+1 pour la référence intéressante. –

+0

Pourquoi ne pas donner un exemple d'utilisation de VTD-XML pour résoudre le problème? –

+0

avez-vous vu la référence à un article d'introduction? –

Questions connexes