2013-03-01 63 views
1

.NET框架是否具有內置的API,用於解析XML Schema的一些基本數據類型並將它們轉換爲適當的.NET數據類型?例如:從指定了xsi:type屬性的XML元素返回正確的數據類型

<someElement 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:type="xs:dateTime">2013-03-01T18:36:00Z</someElement> 

我想寫一些C#代碼,將鍵關機的xsi:type屬性,並給我同等的.NET數據類型,最好有一些內置的.NET API。我最近剛發現的XmlConvert類與它的幾個ToXXX()靜態方法(如ToDateTime(),但我希望它自動選擇合適的類型

重要的警告:如果可能的話我強烈傾向於避免使用在xsd.exe工具基於XML架構文件,該文件自動生成C#類聲明。

+1

XElement具有顯式轉換,您可以在這裏看到:http://msdn.microsoft.com/en-us/library/ff986933.aspx。這可能對你有幫助,但是這並不能通過查看xsi:type屬性來自動解決問題。也許有人可以在一個鐘聲中。 – Justin 2013-03-01 19:00:31

+1

沒有什麼會自動做到這一點 – 2013-03-01 19:02:51

回答

1

沒有,沒有什麼可以做,你在.NET中自動想要的東西。

最接近的事是由objecte自動生成的代碼串行器/解串器 - 實際上可以是r ead並使用xsi:type在去序列化XML元素時生成不同類的對象,但它對於喜歡日期的基本類型不起作用(並且使用起來相當麻煩 - 必須聲明類並對它們進行反序列化)。