我使用 DeHL 在 Delphi 中序列化 XML 和类,如果向我的类添加属性并尝试反序列化我的 XML 文件。我有这个错误:'反序列化 « \TApp\FObject\test » 失败。序列化程序报告它丢失或当前已读取其他实体!'。
我很理解这个问题,但是有没有办法把默认值而不是错误?
我使用 DeHL 在 Delphi 中序列化 XML 和类,如果向我的类添加属性并尝试反序列化我的 XML 文件。我有这个错误:'反序列化 « \TApp\FObject\test » 失败。序列化程序报告它丢失或当前已读取其他实体!'。
我很理解这个问题,但是有没有办法把默认值而不是错误?
亚历克斯回答我这个:
您应该能够 — 通过使用 [XmlNullable] 注释“part2”字段。如果没有 XML 节点,这将告诉 XML 序列化程序将“part2”字段设置为 NIL。
请注意,虽然这是可能的,但不建议这样做。反序列化的内容应该被序列化回原始类型,否则可能会发生“坏事”。
我很久以前在他的网站上问过这个问题,但我找不到我在哪里问这个问题:http ://alex.ciobanu.org/?p=285#comments