XML Diviser un Grand fichier
J'ai un 15 GO fichier XML que j'ai envie de le découper .Il y a environ 300 Millions de lignes . Il n'a pas de noeuds qui sont interdépendants .Est-il un outil qui facilement fait pour moi ?
OriginalL'auteur sameer karjatkar | 2009-03-31
Vous devez vous connecter pour publier un commentaire.
Je pense que vous aurez à diviser manuellement, sauf si vous êtes intéressés à le faire par programmation. Voici un échantillon qui fait que, bien qu'il ne mentionne pas la taille max de traités des fichiers XML. Quand le faire manuellement, le premier problème qui se pose est de savoir comment ouvrir le fichier lui-même.
Je vous recommande un très simple éditeur de texte - quelque chose comme Vim. Lors de la manipulation de ces fichiers volumineux, il est toujours utile de désactiver toutes les formes de coloration de syntaxe et/ou de pliage.
D'autres options à considérer:
EditPadPro - Je n'ai jamais essayé avec quelque chose de cette taille, mais si c'est rien comme les autres JGSoft produits, il devrait fonctionner comme une brise. N'oubliez pas de désactiver la coloration syntaxique.
VEdit - J'ai utilisé cela avec des fichiers: 1 go taille, fonctionne comme si de rien n'était.
EmEditor
Si vous vous posez au sujet de la CodeProject lien, je pense qu'il insère des nœuds Racine au début et à la fin de chaque fichier split.
Malheureusement, il s'est écrasé après 750 MO
Avez-vous essayé les éditeurs de texte (manuel de fractionnement)?
Je peux témoigner de EmEditor est l'efficacité au montage de gros fichiers. Un bon éditeur, mérite d'être mieux connue; la honte, la version gratuite a été abandonné.
OriginalL'auteur Cerebrus
XmlSplit - Un Outil de ligne de Commande Qui découpe les Gros Fichiers XML
xml_split - split énorme de documents XML en petits morceaux
Diviser le XML par bhayanakmaut
(Pas de code source et je ne pouvais pas trouver de travail)
Une question similaire: Comment puis-je couper un gros fichier xml?
OriginalL'auteur Gfy
Ici est une faible empreinte mémoire script pour le faire dans le gratuit firstobject éditeur XML (foxe) à l'aide de CMarkup mode de fichier. Je ne suis pas sûr de ce que tu veux dire par pas interdépendants noeuds, ou d'une étiquette de vérification, mais en supposant que sous l'élément racine vous avez des millions d'éléments de niveau supérieur contenant les propriétés de l'objet ou de lignes que chacun doit rester ensemble comme une unité, et vous avez voulu dire 1 million de dollars par fichier de sortie, vous pourriez faire ceci:
J'ai posté une vidéo sur youtube et l'article à ce sujet ici:
http://www.firstobject.com/xml-splitter-script-video.htm
OriginalL'auteur Ben Bryant
QXMLEdit a une fonction dédiée: je l'ai utilisé avec succès avec un Wikipedia de vidage. Le ~2.7 Gio fichier est devenu un tas de ~1 400 000 fichiers (un par page). Il vous permet même de les expédier dans des sous-dossiers.
OriginalL'auteur eleg
De quelle manière avez-vous besoin de le diviser? Il est assez facile d'écrire du code à l'aide de
XmlReader.ReadSubTree
. Il sera de retour une nouvelle xmlReader instance à l'encontre de l'élément courant et tous ses éléments enfants. Donc, passer à la première enfant de la racine, appel ReadSubtree, écrire tous ces nœuds, appelez la fonction Read() en utilisant le lecteur d'origine, et en boucle jusqu'à ce que fait.OriginalL'auteur John Saunders
La bibliothèque open source virgule dispose de plusieurs outils pour rechercher des données dans de très gros fichiers XMl et de diviser ces fichiers en fichiers plus petits.
https://github.com/acfr/comma/wiki/XML-Utilities
Les outils ont été construits à l'aide de l'expatrié analyseur SAX, de sorte qu'ils n'ont pas de remplissage de la mémoire avec une arborescence DOM comme xmlstarlet et saxon.
xmlstarlet et saxon a échoué pour nous aussi donc c'est pourquoi j'ai ajouté des outils xml par des virgules.
OriginalL'auteur mat_geek
OriginalL'auteur Shivendra
J'ai utilisé XmlSplit de l'Assistant de l'outil. Il fonctionne vraiment bien et vous pouvez spécifier la méthode de fractionnement comme élément de lignes, nombre de fichiers, ou de la taille des fichiers. Le seul problème est que j'ai eu à l'acheter pour 99$ que la version d'essai l'habitude de vous permettre à tous de diviser les données, seulement un nombre impair de fichiers divisés. J'ai été en mesure de séparer un 70 GO de fichier !
OriginalL'auteur Farid
Pas un outil Xml mais Ultraedit pourrait probablement aider, je l'ai utilisé avec 2G de fichiers et il n'a pas l'esprit à tous, assurez-vous de désactiver l'auto-fonction de sauvegarde.
J'ai ajouté une solution sur l'élément lié stackoverflow.com/questions/4325823/...
Voici les instructions sur la façon d'utiliser de l'UE pour diviser un gros fichier ultraedit.com/support/tutorials_power_tips/ultraedit/...
OriginalL'auteur MrTelly