我有一個創建一個相當大的XML DOM,並將其寫入開了一個文件(最多50-100MB)一些代碼。它基本上創建了DOM,然後在其上調用toString並使用ofstream將其寫出。有沒有辦法讓生成的dom的流輸出,以便它不一次創建內存中的整個結構,然後複製它,等等?我創建後不會修改任何節點,因此可以將其寫出並立即釋放內存。我可以編寫我自己的xml類,它可以執行xml構建,但是...我不認爲這是一個好主意,因爲當它涉及到轉義時,我可能會錯過某些東西。創建和使用C流大型XML文檔++
1
A
回答
3
1
我會推薦GenX作爲流式XML編寫器,我在Programmer's Notepad中使用它,它工作得很好,可以在源代碼中看到使用示例。速度非常快,並且它生成良好的UTF-8 XML。內存使用量在使用時應保持大致不變。
0
查看關鍵字「C++ XML writer;」 XML編寫器生成XML文件,而無需在內存中構建整個DOM,因此它們根本不需要使用太多的內存。你沒有提到平臺,但微軟XmlLite有IXmlWriter。
0
生成有效的XML確實沒有太多東西;逃避,你擔心的是微不足道的。
還有這裏的流XML的書面庫:https://code.google.com/p/xml-writer-cpp/ - 如果不出意外,這是教育的目的。
相關問題
- 1. 使用XML和C創建Word文檔#
- 2. 創建大型XML文件
- 3. 用PHP創建XML文檔
- 4. 使用字符串創建流文檔
- 5. 使用LINQ to XML和foreach循環創建XML文檔
- 6. 使用nodeList創建XML文檔
- 7. 使用Rails創建XML文檔
- 8. 使用VBA創建Word或XML文檔
- 9. 使用ocaml創建xml文檔
- 10. PHP:使用.xml創建.docx文檔
- 11. 使用鈦創建XML文檔
- 12. 使用繼承來創建Xml文檔
- 13. 使用GDataXML創建XML文檔
- 14. 使用BeautifulSoup創建XML文檔
- 15. 如何使用XmlDocument創建XML文檔?
- 16. C#xml文檔:如何創建Notes?
- 17. 處理大型XML文檔
- 18. C#:使用Linq沒有正確的輸出創建XML文檔?
- 19. 創建大型XML文件的索引
- 20. 動態創建XML文檔
- 21. 從XML創建Lucene文檔
- 22. xml文檔的創建
- 23. 使用visual C++創建svg文檔
- 24. 使用C#創建Word(2013)文檔
- 25. 使用python/ElementTree和名稱空間創建xml文檔
- 26. 使用Linq to Entities和XSD創建嵌套的XML文檔
- 27. 如何使用XML和iTextSharp在PDF文檔中創建表格?
- 28. 如何從大型XML文檔獲取流式Iterator [Node]?
- 29. Nokogiri :: XML沒有創建xml文檔
- 30. VTD-XML創建一個XML文檔