共用方式為


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 (公曆日期型別) 及 System.DateTime

xs:time 值對應至 DateTime 物件時,會使用 MinValue 欄位將 DateTime 物件的日期屬性 (如 YearMonthDay) 初始化為最小的 DateTime 可能值。

同樣地,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。

另請參閱