2009-11-23 57 views
1

我有一個對象具有許多xsd文件中不存在的屬性。在做XmlDocument.Validate時,我可以告訴它忽略不存在於xsd中的屬性,而只需確保xsd所需的屬性存在於xml文檔中?XmlDocument.Validate在沒有[XmlIgnore]的情況下忽略屬性

我可以通過添加[XmlIgnore]解決這個屬性,都在我的類,但我寧願按照慣例來完成這個相當明確,然後添加屬性都在我的對象模型。

回答

1

我懷疑是否有。就我個人而言,我會創建一個單獨的DTO,因爲它聽起來像你試圖讓一個對象服務兩個工作。另一個選擇是使用允許您在運行時指定attrib的XmlSerializer ctor,但這比[XmlIgnore]工作多得多。

所以,如果你只是希望它的工作:[XmlIgnore]。如果您希望它是「純粹」的,請創建第二個DTO模型並在它們之間進行轉換。

+0

創建第二個模型會工作,但這是我的實際域模型,是持久化到一個內部的ORM所以這是一個有點矯枉過正創建一個完整的複製模型。 blerg。謝謝 – 2009-11-23 19:40:18

+1

我猜對了 - 只要映射爲1:1就沒有問題,但當你開始在兩者之間漂移時,減少損失和拆分類型/責任往往更容易。否則,你會定期打擊它。 – 2009-11-23 19:44:49

相關問題