IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Adam Gajdečka:14.6.2021 17:32

Ahoj, potřebuji zkonvertovat velké XML soubor na JSON pomocí .NET Core, ale můj kód načítá celý XML do paměti, čemuž se potřebuji vyhnout.

Pokud bude mít soubor 2 GB, tak si nemůžu dovolit jej načíst do paměti. Prosím o pomoc, jak to vyřešit. Děkuji

Zkusil jsem:

Console.WriteLine("Start");

string inputPath = "input.xml";

// Load XML document
XmlDocument doc = new XmlDocument();
doc.Load(inputPath);

string outputPath = "output.json";
File.WriteAllText(outputPath, JsonConvert.SerializeXmlNode(doc));

Console.Write("Konec");

Console.ReadKey();
 
Odpovědět
14.6.2021 17:32
Avatar
zelvicek
Člen
Avatar
zelvicek:15.6.2021 6:11

Nápověda: .net read xml sequentially

 
Nahoru Odpovědět
15.6.2021 6:11
Avatar
Petr Jílek
Člen
Avatar
Petr Jílek:15.6.2021 6:57

https://devblogs.microsoft.com/…6-preview-4/

v .NET 6 (preview) by měla přesně pro tento účet být možnost serializace streamu... tak můžeš zkusit.

 
Nahoru Odpovědět
15.6.2021 6:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.