我試圖找到與使用少量的內存,或者內存中,而一定量的XPath支持XML解析器解析,我試圖解析大的XML文件,如近1千兆,我一直在閱讀xqilla,並且似乎是使用非常大量的內存,因爲它是基於DOM,糾正我,如果我錯了..反正 ,對於這樣的XML解析器的C++ & Linux的任何想法?XML恆內存使用
XML恆內存使用
回答
如果你能處理基本上的單程XML,SAX解析器將是一個不錯的主意。 Apache Xerces C++怎麼樣?
SAX不支持xpath,據我所知.. – shd 2011-04-16 09:50:16
對不起,我錯過了。但是,如果你把你的XPath的要求,編寫自己的代碼來選擇您所需要的數據,你應該能夠使用SAX。 – 2011-04-16 09:53:00
@ user687543:爲什麼不能SAX解析器支持的XPath? – 2011-04-16 15:49:58
你可能看
pugixml能夠提供非常快速,方便記憶,高效的XML文檔處理。然而,由於pugixml有一個DOM解析器,它無法處理,不適合在內存中的XML文檔;解析器也是非驗證的,所以如果你需要DTD/Schema驗證,庫不適合你
但是,它明顯不是一個流解析器。我知道流和xpath通常不會很好(由於潛在的隨機訪問要求)。 Allthough,在.NET中ever-famous XPathReader似乎橋接XPath的:)的流行子集
撒克遜EE支持使用XSLT或XQuery(大型XML文檔流的縫隙流被更好地支持XSLT比XQuery中)。 http://www.saxonica.com/documentation/sourcedocs/streaming.xml
- 1. 使用恆定內存的CUDA應用程序的模板
- 2. 使用恆定內存和全局內存的程序之間的區別
- 3. 在OpenCL中使用大量恆定全局內存
- 4. 使用恆定的內部HTML文件
- 5. 恆憶與紋理內存vs CUDA中的全局內存
- 6. 使用Xerces從內存中加載xml
- 7. 繼承attr_accessor內恆定
- 8. fprintf使用恆定空間
- 9. 使用基於恆定值
- 10. 使用Oracle XMLgen Utility創建XML使用內存表數據
- 11. 使用Libxml2解析XML時的大內存使用情況
- 12. 將XSLT應用於內存中的XML並返回內存中的XML
- 13. 使用Java讀取XML內的XML
- 14. 內存使用
- 15. 內存使用
- 16. 內存使用
- 17. 使用內存
- 18. 內存使用
- 19. 內存使用
- 20. 內存使用
- 21. 使用LINQ將XML保存爲XML使用LINQ to XML
- 22. curand狀態在恆定內存(cuda隨機)
- 23. 最長的公共子串與恆定的內存?
- 24. 傳遞一個恆定的共享內存
- 25. JVM內存開銷是線性擴展的還是恆定的?
- 26. 恆定變量正在改變,但不在內存中
- 27. 爲什麼CUDA中的恆定內存大小受到限制?
- 28. 內存訪問不是恆定的時間
- 29. 恆定的緩衝區成員訪問相同的內存
- 30. 使用XML文件內容
你最好還要添加C++標籤 – 2011-04-16 09:04:20