2013-05-26 60 views
0

我正在根據XSD驗證XML文檔,然後想要刪除導致文檔失敗的節點。獲取XSD驗證失敗的元素的對象

我遇到了一個問題,因爲SaxParseException似乎沒有包含關於可以用於以編程方式刪除節點的故障的任何信息。

有沒有一種方法可以從SaxParseException中獲取對元素的引用,可以用它來刪除它?

回答

1

看到這裏的答案:How to get the element of and invalid xml file with failed xsd Validation

注意你提議做的是在一般情況下是不安全的。對於一個簡單的反例,取整數類型的元素X,該元素必須在其父項中至少出現一次。如果你在其中放入一個字符串值,它現在將失敗驗證。如果刪除它,文檔將違反minOccurs約束。

您可以嘗試刪除元素並重新從頭開始驗證,但最終可能會導致很長的循環並且得不到好結果。

+0

這是一個很好的答案,謝謝。 我會試試這個答案的代碼。 – Reu