我正在使用Java SAX解析器(org.xml.sax.ext.DefaultHandler2的實現)來解析XML文檔,並且此文檔具有指向DTD的DOCTYPE聲明。出於某些奇怪的原因,我需要知道「doctype」關鍵字本身已被寫入原始文檔的情況,以便我可以使用完全相同的大小寫輸出文檔。從SAX java XML解析器中,我如何知道「DOCTYPE」關鍵字的情況?
這是,我需要能夠區分:
<!DOCTYPE thing SYSTEMID ...>
...來自:
<!doctype thing SYSTEMID ...>
有沒有辦法實現從解析器本身? (我的意思是,不訴諸執行解析器之前讀取該流的前n個字節)
由於
嘗試覆蓋[DefaultHandler.notationDecl](http://docs.oracle.com/javase/6/docs/api/org/xml/sax/helpers/DefaultHandler.html#notationDecl)並查看是否'name'參數就是你要找的。 – 2012-04-25 11:43:36
不,notationDecl在我的解析過程中甚至沒有被調用...... – 2012-04-25 12:07:03