大多數XML解析器將在文檔中的第一個錯誤後放棄。事實上,IIRC,這實際上是解析器的「官方」規範的一部分。XML解析器驗證報告
我正在尋找一些能夠打破這個規則的東西。它應該採用給定的模式(假設一個有效的模式)和一個xml輸入,並嘗試在第一個錯誤之後繼續前進,併爲每個錯誤引發一個事件或者在完成時返回一個列表,以便我可以使用它來生成某種報告文件中的錯誤。這個要求來自上面,所以讓我們儘量保持純粹主義者「但是繼續」評論到最低限度是沒有意義的。
我正在尋找的東西,將評估文檔是否格式良好和是否符合架構。理想情況下,它將評估那些不同類別的錯誤。我更喜歡.Net解決方案,但我也可以使用獨立的.exe。如果您知道使用其他平臺的人,請繼續併發布它,因爲其他人可能會覺得它有用。
更新:
我預計大多數地方我使用這個文件將是大多形成良好。也許是&作爲數據而不是& amp在這裏或那裏,或偶爾錯誤的標記。我不希望解析器能夠從任何東西中恢復,只是爲了盡最大努力繼續前進。如果一份文件太過於失敗,它應該儘可能多地吐出一些「致命的,無法繼續」的錯誤。否則,架構驗證部分非常簡單。