2012-05-18 30 views
0

對於大學任務,我需要編寫一個SAX解析器和一個讀取原始XML文件的過濾器,然後創建一個新的修改過的解析器。該任務要求我的程序需要通過「java Sax inputFileDestination OutputFileDestination」的控制檯運行,並且它只需要一個文件。我的意思是我需要在Sax.java中實現接口。我熟悉內部類,但我不知道如何在外部類中使用主要方法來實現此功能。用於實現具有內部類的SAX解析器的Java類

任何消耗?

回答

0

由於這是一項任務,我不會發布任何代碼,但解釋如何去做。

我不認爲你需要一個內部類來做到這一點。你的類將有一個主要的方法,它創建一個SAXParser,並將其自身(this)註冊爲回調。然後,您將從HandlerBase實現您所需的SAX方法(startElement,endElement,characters)。你所要做的就是編寫一個SAXParser,然後加上一個main()方法,所以它將從命令行運行。

0

考慮創建一個具有main的另一個類以外的用法的MySAXParser類。然後將main方法作爲測試代碼放入MySAXParser類中。

XML解析器使用SPI(服務提供程序接口)提供帶有META-INF/MANIFEST.MF的jar。你可能會想到做同樣的事情作爲獎金。

其他內部類可以是private static如果它們是獨立的,或者只是private存儲額外的外部MySAXParser.this;所以經常犯的一個錯誤是忘記static