0
我正在根據XSD驗證XML文檔,然後想要刪除導致文檔失敗的節點。獲取XSD驗證失敗的元素的對象
我遇到了一個問題,因爲SaxParseException似乎沒有包含關於可以用於以編程方式刪除節點的故障的任何信息。
有沒有一種方法可以從SaxParseException中獲取對元素的引用,可以用它來刪除它?
我正在根據XSD驗證XML文檔,然後想要刪除導致文檔失敗的節點。獲取XSD驗證失敗的元素的對象
我遇到了一個問題,因爲SaxParseException似乎沒有包含關於可以用於以編程方式刪除節點的故障的任何信息。
有沒有一種方法可以從SaxParseException中獲取對元素的引用,可以用它來刪除它?
看到這裏的答案:How to get the element of and invalid xml file with failed xsd Validation
注意你提議做的是在一般情況下是不安全的。對於一個簡單的反例,取整數類型的元素X
,該元素必須在其父項中至少出現一次。如果你在其中放入一個字符串值,它現在將失敗驗證。如果刪除它,文檔將違反minOccurs約束。
您可以嘗試刪除元素並重新從頭開始驗證,但最終可能會導致很長的循環並且得不到好結果。
這是一個很好的答案,謝謝。 我會試試這個答案的代碼。 – Reu