我使用SDK中的xsd.exe工具生成基於XSD的C#類。然後我可以使用該類來使用XmlSerializer序列化對象...但是,序列化器似乎非常寬容。更嚴格的XmlSerializer,它不允許未使用的節點
是否有可能,我可以讓串行扔的情況下有丟失財物或「奇怪」的XML節點中的例外呢?
我想一個辦法是修改setter方法並使其驗證數據(或使用XSD驗證)......不過是有這個問題的任何其他替代解決方案?
我使用SDK中的xsd.exe工具生成基於XSD的C#類。然後我可以使用該類來使用XmlSerializer序列化對象...但是,序列化器似乎非常寬容。更嚴格的XmlSerializer,它不允許未使用的節點
是否有可能,我可以讓串行扔的情況下有丟失財物或「奇怪」的XML節點中的例外呢?
我想一個辦法是修改setter方法並使其驗證數據(或使用XSD驗證)......不過是有這個問題的任何其他替代解決方案?
您可以實現IXmlSerializable
interface並在ReadXml
method實施,檢查您需要的特定元素,拋出異常的時候,你不覺得他們(或設置你需要的任何通知)。
如果你想使用的模式進行驗證(使用minOccurs
and maxOccurs
schema attributes,例如),那麼你可以配置XmlReader
例如,通過您傳遞到Create
method(注意XmlReaderSettings
class設置Schemas
property來驗證模式有Create
的過載,其中TextReader
等)。
謝謝...我想我會去模式驗證:) – HostMAX 2013-06-24 20:02:39
https://acme.newprod.econometrix.com/ClientBin/Trescreatus.Econometrix.DataVisualization.SpendAnalysis.xap – 2012-07-25 17:13:53