【问题标题】:XmlDocument.Validate ignore properties without [XmlIgnore]XmlDocument.Validate 忽略不带 [XmlIgnore] 的属性
【发布时间】:2010-12-19 14:30:20
【问题描述】:

我有一个对象,它具有许多 xsd 文件中不存在的属性。在执行 XmlDocument.Validate 时,有没有办法告诉它忽略 xsd 中不存在的属性,而只是确保 xsd 所需的属性存在于 xml 文档中?

我可以通过在我的类中添加 [XmlIgnore] 属性来解决这个问题,但我宁愿按照惯例完成此操作,而不是在整个对象模型中显式添加属性。

【问题讨论】:

    标签: c# xml xsd schema xmldocument


    【解决方案1】:

    我怀疑有。就我个人而言,我会创建一个单独的 DTO,因为听起来您正试图让一个对象服务于两项工作。另一种选择是使用XmlSerializer ctor,它允许您在运行时指定属性,但这比[XmlIgnore] 工作更多。

    因此,如果您只想让它工作:[XmlIgnore]。如果您希望它是“纯”的,请创建第二个 DTO 模型并在它们之间进行转换。

    【讨论】:

    • 创建第二个模型是可行的,但这是在我的实际域模型中,并且是为了持久化到内部 orm,所以创建一个完整的重复模型有点矫枉过正。布勒格还是谢谢
    • 我也猜到了——只要映射是 1:1 就可以了,但是当您开始在两者之间徘徊时,通常更容易减少损失并拆分类型 /责任。否则,您将经常与它作斗争。
    猜你喜欢
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多