.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数据类型,理想情况下是.NET中的一些内置API。我刚刚发现XmlConvert
类有几个ToXXX()
静态方法(比如ToDateTime()
,但我希望它能自动选择合适的类型。
重要提示:我强烈希望尽可能避免使用基于XML架构文件自动生成C#类声明的xsd.exe
工具。
答案 0 :(得分:1)
不,没有什么可以在.NET中自动执行您想要的操作。
最接近的是objecte序列化器/反序列化器自动生成的代码 - 在反序列化XML元素时,它实际上可以读取并使用xsi:type
生成不同类的对象,但它实际上并不适用于原始类型喜欢日期(并且使用起来非常麻烦 - 您必须声明类并对它们进行反序列化。)