我試圖根據模式驗證一些XML並收集儘可能多的信息以向用戶提供有價值的錯誤消息。C#驗證xml時獲取模式信息
我已經成功地驗證對一個XSD序列化對象。我的ValidationEventHandler被正確調用了所有的錯誤,並且我得到了一些信息。唯一的問題是模式信息在這一點上是不可用的 - 我試圖去到元素的模式類型。即給出下面的架構元素,我想獲得「的BookType」
<element minOccurs="0" maxOccurs="1" name="TypeOfBook" type="myTypes:BookType" />
我相信架構/驗證信息被插入在驗證過程中的XML。因此,如果我連續調用兩次驗證,則只能在第二次處理錯誤時使用模式信息。
serializedObject.Validate((x, y) => { });
serializedObject.Validate((x, y) => { // handle errors here because elements will have schema info available });
很明顯,這個解決方案有很多不足之處。推薦的處理方法是什麼?
我正在使用XmlSerializer將對象序列化爲xml。然後我想驗證xml是否適用於xsd。在第一次調用驗證期間,絕對沒有可用的模式信息(所有與模式相關的porperties都爲空)。在第二個電話。所有的信息都在那裏。 – Craigt