3 回答

TA貢獻1784條經(jīng)驗 獲得超2個贊
很簡單 只需運行(在vs命令提示符下)
xsd your.xsd /classes
(將創(chuàng)建your.cs)。但是請注意,自2.0以來,此處的大多數(shù)內(nèi)在選項都沒有太大變化
有關(guān)選項,請使用xsd /?或參閱MSDN。例如/enableDataBinding可能是有用的。

TA貢獻1829條經(jīng)驗 獲得超6個贊
當(dāng)您有循環(huán)引用時(即,一個類型可以直接或間接擁有其自己類型的元素),xsd.exe不能很好地工作。
當(dāng)存在循環(huán)引用時,我使用Xsd2Code。Xsd2Code可以很好地處理循環(huán)引用,并且可以在VS IDE中工作,這是一個很大的優(yōu)點。它還具有許多可使用的功能,例如生成序列化/反序列化代碼。但是,如果要生成序列化,請確保打開GenerateXMLAttributes(否則,如果未在所有元素上都定義,則會獲得排序異常)。
兩者都不適合使用選擇功能。您最終將得到對象的列表/集合,而不是所需的類型。如果可能,我建議避免在xsd中進行選擇,因為這樣做不會很好地序列化/反序列化為強類型類。但是,如果您對此不關(guān)心,那么這不是問題。
xsd2code中的any功能反序列化為System.Xml.XmlElement,我覺得這很方便,但是如果您要使用強類型對象,則可能會遇到問題。在允許自定義配置數(shù)據(jù)時,我經(jīng)常使用any,因此XmlElement可以方便地傳遞到在其他地方自定義定義的另一個XML反序列化器。
- 3 回答
- 0 關(guān)注
- 593 瀏覽
添加回答
舉報