我在Delphi中使用DeHL将XML和类进行序列化,如果向我的类添加属性并尝试反序列化XML文件,则会出现如下错误:“反序列化“\TApp\FObject\test”失败。串行器报告缺少或当前正在读取其他实体!”
我很清楚这个问题,但有没有一种方法可以将默认值放入而不是错误?
我在Delphi中使用DeHL将XML和类进行序列化,如果向我的类添加属性并尝试反序列化XML文件,则会出现如下错误:“反序列化“\TApp\FObject\test”失败。串行器报告缺少或当前正在读取其他实体!”
我很清楚这个问题,但有没有一种方法可以将默认值放入而不是错误?
Alex回答我:
你应该能够通过在“part2”字段上注释[XmlNullable]来实现。这将告诉XML序列化器,如果它没有XML节点,则将“part2”字段设置为NIL。
请注意,虽然这是可能的,但不推荐。反序列化内容应该被序列化回原始类型,否则可能会发生“糟糕的事情”。
我很久以前在他的网站上问过这个问题,但我找不到我在哪里问这个问题:http://alex.ciobanu.org/?p=285#comments