共用方式為


XML 型別支援實作注意事項

本主題描述您想要注意的一些實作詳細數據。

清單映射

IListICollectionIEnumerableType[], 和 String 類型是用來表示 XML 架構定義語言 (XSD) 清單類型。

聯合映射

聯集類型是使用 XmlAtomicValueString 型別來表示。 因此,來源類型或目的地類型必須一律為 StringXmlAtomicValue

XmlSchemaDatatype如果物件代表清單類型,物件會將輸入字串值轉換成一或多個對象的清單。 XmlSchemaDatatype如果表示聯合型別,則會嘗試將輸入值剖析為聯合的成員型別。 如果剖析嘗試失敗,則會嘗試使用下一個聯合體成員進行轉換,直到轉換成功為止,或沒有其他成員類型可供嘗試,此時會拋出異常。

CLR 和 XML 資料類型之間的差異

下列描述 CLR 類型與 XML 數據類型之間可能發生的特定不符,以及其處理方式。

備註

前綴 xs 對應於 https://www.w3.org/2001/XMLSchema 和命名空間 URI。

System.TimeSpan 和 xs:duration

類型 xs:duration 會部分排序,因為某些持續時間值不同,但相等。 這表示在 xs:duration 類型值,例如 1 個月 (P1M) 小於 32 天 (P32D),大於 27 天 (P27D),相當於 28、29 或 30 天。

類別 TimeSpan 不支援這個部分排序。 相反地,它會挑選 1 年和 1 個月的特定天數;分別有365天和30天。

如需類型的詳細資訊 xs:duration ,請參閱 W3C XML 架構第 2 部分:數據類型建議

xs:time、Gregorian Date Types 和 System.DateTime

xs:time當值對應至DateTime物件時,MinValue欄位會用來將物件的日期屬性DateTime初始化為最小的可能Year值,例如MonthDayDateTime

同樣地,xs:gMonthxs:gDayxs:gYearxs:gYearMonthxs:gMonthDay 的實例也會對應至 DateTime 物件。 物件DateTime上的未使用屬性會初始化為來自MinValue的屬性。

備註

當內容類型為 DateTime.Year時,您無法依賴 xs:gMonthDay 值。 在此案例中,此值 DateTime.Year 一律設定為 1904。

xs:anyURI 和 System.Uri

當表示相對 URI 的 xs:anyURI 實例對應至 Uri時, Uri 對象沒有基底 URI。

另請參閱