對於大學任務,我需要編寫一個SAX解析器和一個讀取原始XML文件的過濾器,然後創建一個新的修改過的解析器。該任務要求我的程序需要通過「java Sax inputFileDestination OutputFileDestination」的控制檯運行,並且它只需要一個文件。我的意思是我需要在Sax.java中實現接口。我熟悉內部類,但我不知道如何在外部類中使用主要方法來實現此功能。用於實現具有內部類的SAX解析器的Java類
任何消耗?
對於大學任務,我需要編寫一個SAX解析器和一個讀取原始XML文件的過濾器,然後創建一個新的修改過的解析器。該任務要求我的程序需要通過「java Sax inputFileDestination OutputFileDestination」的控制檯運行,並且它只需要一個文件。我的意思是我需要在Sax.java中實現接口。我熟悉內部類,但我不知道如何在外部類中使用主要方法來實現此功能。用於實現具有內部類的SAX解析器的Java類
任何消耗?
由於這是一項任務,我不會發布任何代碼,但解釋如何去做。
我不認爲你需要一個內部類來做到這一點。你的類將有一個主要的方法,它創建一個SAXParser,並將其自身(this)註冊爲回調。然後,您將從HandlerBase實現您所需的SAX方法(startElement,endElement,characters)。你所要做的就是編寫一個SAXParser,然後加上一個main()方法,所以它將從命令行運行。
考慮創建一個具有main
的另一個類以外的用法的MySAXParser類。然後將main
方法作爲測試代碼放入MySAXParser類中。
XML解析器使用SPI(服務提供程序接口)提供帶有META-INF/MANIFEST.MF的jar。你可能會想到做同樣的事情作爲獎金。
其他內部類可以是private static
如果它們是獨立的,或者只是private
存儲額外的外部MySAXParser.this
;所以經常犯的一個錯誤是忘記static
。