1
有沒有辦法在SAX解析器處理程序類中獲取文件名? 我有一個要求將文件名和標籤內容一起寫入文本文件。如何在SAX解析器中獲取文件名?
請幫忙。
編輯:我需要這個
saxParser.parse( 「Input.xml中」,saxHandler); 在saxHandler中,當我有'id'標記時,讀取值並將值與文件名一起存儲。它可以是地圖或對象。
有沒有辦法在SAX解析器處理程序類中獲取文件名? 我有一個要求將文件名和標籤內容一起寫入文本文件。如何在SAX解析器中獲取文件名?
請幫忙。
編輯:我需要這個
saxParser.parse( 「Input.xml中」,saxHandler); 在saxHandler中,當我有'id'標記時,讀取值並將值與文件名一起存儲。它可以是地圖或對象。
在調用任何其他事件處理方法之前,SAX解析器通常會調用ContentHandler.setDocumentLocator()
。提供的定位器可用於獲取SystemId,如果您要從文件解析,則SystemId通常會以URI形式爲您提供源文件名。
一些注意事項:
SAX解析器鼓勵調用此方法,但它沒有義務這樣做。
在某些情況下,例如,如果從FileInputStream解析,解析器可能不知道源文件名(因此SystemId)(實際上,源XML不一定來自文件)。
如果源文檔包含多個外部實體,則SystemId可以在解析過程中更改。
什麼文件?誰說有一個文件? – shmosel
我在某處讀取它不會讀取文件。我可以從字符串變量中解析數據,但我對此沒有清楚的想法。有沒有辦法獲得文件名? – Rekha
如果你正在加載文件,你有文件名。如果你擁有的只是一個解析器,那麼你所能做的就不多。來源可以是任何東西。 – shmosel