Quel est le moyen le plus rapide d'ajouter un attribut à l'élément racine d'un fichier XML massif? Ces fichiers sont trop volumineux pour être lus en mémoire et j'aimerais éviter autant que possible une pénalité d'E/S.Le moyen le plus efficace d'ajouter un attribut au début du fichier XML massif en Java?
Répondre
N'allez-vous pas devoir réécrire le fichier entier de toute façon si vous insérez du texte au début ou près du début? Un analyseur SAX devrait être adaptable à l'entrée de tampon (via un InputStream) si vous ne voulez pas tout en mémoire à la fois.
Vous aurez toujours le coup de réécrire le fichier entier mais pas le coup de mémoire de l'avoir en mémoire à la fois. Fondamentalement, vous allez analyser le fichier, écouter les événements SAX et écrire le nouveau fichier à partir de ces événements. Votre analyseur syntaxique SAX écoutera également les circonstances appropriées pour ajouter un attribut.
Excellente réponse :) –
Il est pratiquement impossible de ne pas réécrire le fichier en Java (je ne pense même pas que vous pourriez le faire si vous étiez en train de peaufiner les fichiers au niveau du système, mais peut-être ...) moyen le plus efficace pour réécrire le fichier?
Si possible, j'éviterais tous les parseurs XML et j'écrirais les miens. Cela nécessiterait que vous puissiez facilement identifier l'emplacement du nouveau fichier dans le fichier. Si vous pouvez trouver la chaîne correspondant, vous pouvez lire un peu à la fois, rechercher le point d'insertion et insérer simplement vos données supplémentaires lorsque vous y arrivez, puis continuer à copier le reste.
- 1. Quel est le moyen le plus efficace pour Deserialze un fichier XML
- 2. Quel est le moyen le plus efficace de lire un fichier journal dans Java?
- 3. Le moyen le plus efficace d'indexer un tableau retourné?
- 4. Le moyen le plus efficace de convertir BCD en binaire
- 5. Le moyen le plus efficace pour parcourir un fichier et lire des lignes?
- 6. Le moyen le plus efficace pour déterminer la valeur décimale est entier en Java
- 7. Analyse en Python: quel est le moyen le plus efficace pour supprimer/normaliser les chaînes?
- 8. Le moyen le plus concis de lire le contenu d'un fichier/flux d'entrée en Java?
- 9. Le moyen le plus efficace pour obtenir des listes?
- 10. Est-ce le moyen le plus efficace de charger des valeurs XML dans une structure?
- 11. le plus efficace moyen de créer InputStream de OutputStream
- 12. PHP moyen le plus efficace de communication entre les serveurs
- 13. Le moyen le plus efficace de fermer une page load() en utilisant le signe X jquery
- 14. Quel est le moyen le plus efficace d'obtenir le premier élément d'un tableau associatif en JavaScript?
- 15. Le moyen le plus efficace pour dessiner des pixels individuels dans OpenGL ES (Cocos2d-iphone)
- 16. Ajouter un attribut XML Namespace à un fichier XML tiers?
- 17. Rendre le fichier XML plus lisible
- 18. Quel est le moyen le plus efficace d'interagir avec un Singleton?
- 19. Comparer Classe Le plus efficace?
- 20. Le moyen le plus efficace de Python de choisir la plus longue chaîne dans la liste?
- 21. Le moyen le plus rapide/le plus court de construire un arbre unique en Ruby?
- 22. Quel est le moyen le plus efficace pour localiser et définir les valeurs d'éléments dans un XDocument?
- 23. Le moyen le plus rapide d'écrire des données volumineuses dans un fichier texte Java
- 24. SQL Update - Existe-t-il un moyen plus élégant et plus efficace de le faire?
- 25. Quel est le moyen le plus efficace pour dessiner un grand CGPath?
- 26. Quel serait le moyen le plus simple de traiter un fichier texte en utilisant JSP?
- 27. Java - obtient le fichier le plus récent dans un répertoire?
- 28. Quel est le sélecteur le plus correct/le plus efficace?
- 29. Quel est le moyen le plus efficace d'identifier et de remplacer un objet dans une ObservableCollection?
- 30. LINQ To SQL - Quel est le moyen le plus efficace de passer en revue le maître/détail?
est-ce un att nouvellement défini ou défini comme optionnel mais non peuplé att? – akf
Nouvel attribut défini - plus précisément, l'attribut d'espace de noms de sorte que JAXB puisse démarsaliser l'objet. – Brian
Faites attention à traiter les déclarations d'espace de noms en tant qu'attributs. Les analyseurs leur accordent un traitement spécial et ne peuvent pas exposer ces informations à l'API en tant qu'attributs. – skaffman