2012-12-14 53 views
2

我想實現以下2件事情時,遞歸加載和解析XML文件。 1.避免重複 2.避免循環。檢測重複和循環在XML

我的XML文件還包含其他XML文件名。我必須先加載主文件,然後解析標籤下的文件名。一旦解析完成,我必須逐個加載和解析這些文件。雖然我這樣做,我必須顯示消息重複或循環遞歸。請給我建議算法/鏈接來解決這個問題。

回答

0

保留您已處理的所有「事物」(您的案例中的XML文件名)的列表。然後,在處理每個項目之前,檢查它是否已經在列表中並相應地發出警告/錯誤。

跟蹤這個問題的最好方法 - 鏈表,數組,字典,哈希集等 - 列表將取決於您正在使用的編程/腳本語言以及期望「看到的項目「包含的列表。

+0

謝謝。我使用VC++字典來跟蹤items.After檢查後,我必須顯示錯誤的循環和警告重複。但是在檢查時,兩者都被檢測爲只有重複。有沒有什麼方法可以找到遞歸的項目。 – user1903135

+0

假設您遞歸調用加載函數本身,將相同的字典傳遞給遞歸調用。然後,當您加載「Main.xml」時,將其添加到列表並調用該函數以加載「Child.xml」。 「Child.xml」在加載後會被添加到列表中,如果它再次嘗試加載「Main.xml」,它會看到它已經在列表中。那有意義嗎? – DocMax

+0

是的。你是對的 – user1903135