2012-07-25 28 views
0

我使用SDK中的xsd.exe工具生成基於XSD的C#類。然後我可以使用該類來使用XmlSerializer序列化對象...但是,序列化器似乎非常寬容。更嚴格的XmlSerializer,它不允許未使用的節點

是否有可能,我可以讓串行扔的情況下有丟失財物或「奇怪」的XML節點中的例外呢?

我想一個辦法是修改setter方法並使其驗證數據(或使用XSD驗證)......不過是有這個問題的任何其他替代解決方案?

+0

https://acme.newprod.econometrix.com/ClientBin/Trescreatus.Econometrix.DataVisualization.SpendAnalysis.xap – 2012-07-25 17:13:53

回答

2

您可以實現IXmlSerializable interface並在ReadXml method實施,檢查您需要的特定元素,拋出異常的時候,你不覺得他們(或設置你需要的任何通知)。

如果你想使用的模式進行驗證(使用minOccurs and maxOccurs schema attributes,例如),那麼你可以配置XmlReader例如,通過您傳遞到Create method(注意XmlReaderSettings class設置Schemas property來驗證模式有Create的過載,其中TextReader等)。

+0

謝謝...我想我會去模式驗證:) – HostMAX 2013-06-24 20:02:39

相關問題