簡體   English   中英

Apache Xerces是一個流式XML解析器嗎?

[英]Is Apache Xerces a Streaming XML parser?

我正在編寫一個應用程序,需要使用castor解組一個巨大的XML文件。 由於這個原因,我需要使用流式XML解析器(如Stax)來解析XML文件。 根據Castor的文檔,castor默認解析器是Xerces。 我訪問了Xerces主頁,我找不到Xerces是否是流解析器的任何信息。

有誰知道Xerces是否是一個流解析器。 謝謝。

關於如何處理這種情況的FAQ有一些建議。 引用文檔。

如何在流到達時從流中讀取數據?

您必須處理3個問題:

  • Apache解析器在開始解析之前將整個數據流讀入緩沖區; 你需要改變這種行為,以便他們“在飛行中”進行分析
  • Apache解析器在到達文件結尾時終止; 使用數據流,除非發件人丟棄套接字,否則您沒有文件結束,因此您需要以其他方式終止
  • Apache解析器在終止時關閉輸入流,這將關閉套接字; 您通常不希望這樣,因為您需要將ack發送到數據流源,並且您可能希望在套接字上進行進一步的交換。

來自http://en.wikipedia.org/wiki/Xerces

Xerces是Apache的軟件庫集合,用於解析,驗證,序列化和操作XML。 該庫實現了許多用於XML解析的標准API,包括DOM,SAX和SAX2

所以它似乎支持流媒體和非流媒體API。 有關所有支持的API,請參見http://xerces.apache.org/#xerces2-j

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM