下面的問題是關於要用於數據交換的類型的.net庫的XML序列化/反序列化和模式驗證。.NET中的Xml序列化和模式(C#)
第一個問題,如果我有一個自定義XML命名空間說「http://mydomain/mynamespace」我必須一個
[XmlRoot(Namespace = "http://mydomain/mynamespace")]
添加到每個班級在我的圖書館。或者有沒有辦法將這個命名空間定義爲整個程序集的默認值?
第二個問題,有沒有總是添加命名空間
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
即使有任何命名空間沒有實際參考後面的原因是什麼?我只是覺得它們會給產生的xml增加噪音。有沒有辦法刪除它們只有在生成的XML中的自定義名稱空間?
第三個問題,是有支持的模式定義生成(例如,用於所有公共[Serializable接口]類的程序集),並針對特定模式的XML提供的驗證工具?
如果有,您會推薦來自W3C或RELAX NG的XML Schema嗎?