2011-10-06 19 views
12

Ho bisogno di leggere file xml di grandi dimensioni utilizzando file .net che possono essere facilmente diversi GB di dimensione.Lettura di documenti XML di grandi dimensioni in .net

Ho provato a usare XDocument, ma lancia appena un System.OutOfMemoryException quando provo a caricare il documento.

Qual è il modo più performante per leggere file XML di grandi dimensioni?

+0

se si esegue su 64 bit e vogliono un soluzione rapida per OutOfMemoryException: vai alle proprietà del tuo progetto -> scheda build -> Target piattaforma: cambia qualsiasi CPU in "x64". – user1073075

risposta

13

In pratica, è utilizzare il modello "pull" qui - XmlReader e gli amici. Ciò ti consentirà di eseguire lo streaming del documento anziché caricarlo tutto in memoria in una sola volta.

Nota che se sei al corrente di un elemento "abbastanza piccolo", puoi creare un XElement from an XmlReader, gestirlo usando il glorioso LINQ in XML e quindi passare all'elemento successivo.

Problemi correlati