Come posso convalidare un file XML di grandi dimensioni (> 100mb)? Provo ad aprirlo con IE, FX & GC e si blocca o non fa nulla.Come convalidare file XML di grandi dimensioni (> 100 MB)
risposta
È possibile provare a utilizzare un validatore da riga di comando, ad esempio xmlstarlet:
$ xmlstarlet validate bigfile.xml
Potrebbe funzionare, ma quel progetto sembra essere morto, quindi non aspettatevi aggiornamenti. Vedi http://xmlstar.sourceforge.net/ –
+1 Poiché questo è l'unico che non richiede Windows. Ed è gratis :) –
'sel' tuttavia non funziona :-(http://stackoverflow.com/questions/33653844/xmlstarlet-sel-on-large-file –
In Java, e sono sicuro che in altre lingue, ci sono soluzioni per la lettura in un intero file XML e la trasformazione come DOM completo e soluzioni che elaborano l'XML come uno stream in modo guidato dagli eventi. Vorresti il secondo tipo di soluzione, che non carica mai l'intero file in memoria. Vedere SAX per una soluzione Java al problema.
Si potrebbe provare l'editor XML EditiX.
Se si carica il documento in EditiX e ci sono problemi con l'XML, ad es. tag di apertura e chiusura non corrispondenti, l'editor caricherà comunque il file e nell'angolo in basso a destra dello schermo vedrai un numero visualizzato in rosso ad es. un "5" rosso significa che ci sono cinque errori nel documento.
Non ho provato un documento da 100 MB ma ho fatto più di 15mb e mi sembrava abbastanza felice.
C'è una versione gratuita.
in aggiunta al commento di dj_segfault sulla risposta di phihag, xmlstarlet per fortuna NON è morto. Hanno appena released Version 1.3
Se si desidera un commandlinetool decente in grado di manipolare xml, xmlstarlet è perfetto (e piuttosto veloce).
IMHO, \t *** Questo dovrebbe essere un commento *** – Kiquenet
L'unico strumento che conosco che combina un visualizzatore di file di grandi dimensioni e un validatore XML per file enormi è XML ValidatorBuddy. Il visualizzatore di file non carica il file completo in una volta ma è possibile scorrere e c'è anche la colorazione della sintassi XML applicata. La convalida utilizza il parser SAX di Xerces e il tuo documento con> 100mb non dovrebbe essere un problema.
ossigeno XML ha un supporto file enorme che fa convalida
di Windows versione di XML Starlet:
> xml val <xmlfile.xml>
È inoltre possibile utilizzare il plugin Strumenti XML in Nodepad ++, è ha una funzione "Controlla sintassi XML ora". È semplice da scaricare e se non usi già Notepad ++, è un buon motivo per iniziare!
xmllint --stream lavorato su un file 1.2Gb di disco con memoria limitata a 500Mb:
ulimit -Sv 500000
xmllint --stream a.xml
Senza --stream
, Linux uccide il processo, e senza ulimit
, le mie marmellate di computer.
non ero in grado tuttavia di ottenere in uscita dal --xpath
quando si utilizza --stream
: How to do command line XPath queries in huge XML files?
testato in Ubuntu 14.04, la versione xmllint 20901.
Non vale nulla che' xmllint' sia multipiattaforma. Io lo uso su Windows. Confermo che '--stream' Anche l'opzione funziona bene, non ho nemmeno bisogno di impostare un limite di memoria per elaborare 3.5 GB, tuttavia la libreria .net sembra essere 2x più veloce – Jarekczek
@Jarekczek grazie per avermi fatto sapere! Non è necessario il 'ulimit' in Linux con '--stream', sto solo mostrando alla gente come non far funzionare le loro macchine/test che in realtà non usa molta memoria ;-) –
Su Windows è possibile scrivere una semplice applicazione basata sulla piattaforma .net. La classe System.Xml.XmlReader
è in grado di convalidare file enormi. Un esempio è in questa risposta: Validating an XML against referenced XSD in C#
Contestualmente, un" scrivi il tuo programma di validazione xml in .NET " la risposta non ha molto senso quando ci sono già programmi per tutti i sistemi operativi per fare ciò. – pydsigner
L'imballaggio di un'applicazione di terze parti insieme al programma è problematico. L'utilizzo di una libreria del sistema operativo integrata, ciò che suggerisco, è molto più semplice. Dato che lo stackoverflow è per i programmatori, spero che tali suggerimenti si presentino sempre. -1 non mi preoccupa, ma per favore non rendere questa risposta invisibile. – Jarekczek
se il tuo primo pensiero era quello di convalidare XML in un browser web, come lo erano gli OP, quasi certamente non stai provando a spedire una soluzione con un programma. La tua risposta non si applica bene alla situazione. – pydsigner
Liquid Studio Community Edition contiene un editor di file di grandi dimensioni che può essere utilizzato anche per convalidare i file XML. In realtà non ha un limite massimo per le dimensioni dei file che è possibile aprire. I file di Terra-byte si aprono immediatamente su macchine a bassa specifica, ed è gratuito.
- 1. "Memoria insufficiente" durante l'analisi di grandi dimensioni (100 Mb) file XML utilizzando Perl
- 2. Come leggere il file XLSX di dimensioni> 40 MB
- 3. Come caricare file di grandi dimensioni MB sql in phpMyAdmin
- 4. Elaborazione di file xml di grandi dimensioni
- 5. Come inviare un file di grandi dimensioni (> 5 mb) da Blobstore a Google Drive?
- 6. Come caricare file di grandi dimensioni (> 25 MB) in un servizio Web?
- 7. creazione di file xml di grandi dimensioni in rubino
- 8. Caricamento di file di grandi dimensioni in formato HTML5 (> 500 MB)
- 9. Visualizzazione di file XML di grandi dimensioni in eclissi?
- 10. Come leggere fogli di lavoro di grandi dimensioni da file Excel di grandi dimensioni (27 MB +) con PHPExcel?
- 11. Oracle: caricamento di un file xml di grandi dimensioni?
- 12. Analisi di file pseudo-xml di grandi dimensioni in python
- 13. JAXB può analizzare file XML di grandi dimensioni in blocchi
- 14. PyInstaller dimensioni file molto grandi
- 15. Come posso caricare file di grandi dimensioni (~ 150 MB) in MATLAB?
- 16. Come caricare file di grandi dimensioni superiori a 500 MB in PHP
- 17. CodeIgniter Caricamento di file di grandi dimensioni
- 18. Modo efficiente di analizzare 100 MB di carico utile JSON
- 19. Caricamento file di grandi dimensioni Tomcat 6.0 (> 2 GB)
- 20. Come base64 decodificare file di grandi dimensioni in PHP
- 21. File JSON di grandi dimensioni
- 22. Xampp - PHPMyAdmin carica file di grandi dimensioni?
- 23. xmlstarlet sel su file di grandi dimensioni
- 24. Come organizzare file di grandi dimensioni?
- 25. Come posso dividere file di grandi dimensioni?
- 26. troncamento il primo 100 MB di un file in linux
- 27. File di grandi dimensioni nel controllo del codice sorgente (TFS)
- 28. Come gestire file di dati di grandi dimensioni con GitHub?
- 29. Leggere file di grandi dimensioni in Java
- 30. Caricamento file di grandi dimensioni con WebSocket
possibile duplicato del [editor di testo per aprire grande (gigante, enormi, grandi) i file di testo] (http://stackoverflow.com/questions/159521/text-editor-to-open-big- file giganti-di grandi dimensioni di testo) – Jehof
@Jehof No, per niente. Un editor di testo è diverso da un validatore. – phihag
@phihag per essere onesti, l'OP * ha * parlato dell'apertura del file in IE e Firefox, quindi non è chiaro se l'OP significa convalidare visivamente o validare in modo manuale. –