在我的一個項目中,我們支持使用XML進行數據輸入。由於XML是一個用戶輸入文件,它很有可能是一個有效的XML,但有一些語義錯誤(例如字符串長度大於允許的限制等)。單個元素而不是整個文檔的XML驗證
目前我使用javax.xml.validation.Validator來驗證給定的文檔,但即使一個元素有語義錯誤,這也會失敗。我想要的是能夠跳過這些元素,而不是跳過整個XML。 我知道我們可以爲驗證器設置一個錯誤處理程序,我可以跳過這些錯誤,但這意味着我需要在應用程序代碼中執行語義檢查。
我能想到的一個解決方案是解析XSD並獲取一組限制(如時間戳格式,長度檢查等),然後在解析XML時檢查這些限制。有沒有解決這個問題的優雅或明確的方法?