从指定了xsi:type属性的XML元素返回正确的数据类型

本文关键字:元素 XML 返回 数据类型 属性 xsi type | 更新日期: 2023-09-27 18:01:51

.NET框架是否有内置API来解析XML Schema的一些基本数据类型并将它们转换为适当的。net数据类型?例如:

<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数据类型,理想情况下与一些内置的API从。net。我最近发现了XmlConvert类,它有几个ToXXX()静态方法(如ToDateTime()),但我希望它能自动选择适当的类型。

重要警告:我强烈希望尽可能避免使用xsd.exe工具,该工具基于XML模式文件自动生成c#类声明。

从指定了xsi:type属性的XML元素返回正确的数据类型

不,在。net中没有任何东西可以自动完成你想要的。

最接近的是对象序列化器/反序列化器自动生成的代码——当反序列化XML元素时,它实际上可以读取和使用xsi:type来生成不同类的对象,但它并不真正适用于像日期这样的基本类型(而且使用起来相当麻烦——您必须声明类并反序列化它们)。

相关文章: