首先,我告诉我的数据Set如何通过Xsd文档解释xml。 问题的xml部分应当是钥匙ValuePair, 即我xsd的腐蚀体线。
<xs:element name="MyKeyValuePair" msdata:DataType="System.Collections.Generic.KeyValuePair`2[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" type="xs:anyType" />
The xsd is loaded to the DataSet as follows:
myDataSet.ReadXmlSchema(new StringReader(myXsdString));
这本书的细微可核实,该栏的数据类型是正确的(我有一些插图,有些是双倍,有些是系统)。 准则等,当然还有我的钥匙ValuePair。 然后,我装上Xml和
myDataSet.ReadXml(new StringReader(myXmlString));
xml喜欢
<DataSet>
<DataTable>
<MyGuid>8F6FC345-5362-4518-B652-0CC3AD54901E</MyGuid>
<MyKeyValuePair>[67b7fdd1-2079-4311-a7a3-cd2fb0b31384, myValue]</MyKeyValuePair>
<MyBool>0</MyBool>
</DataTable>
</DataSet>
所有类型都是正确的,但显然,数据Set的斜线知道如何划分通用钥匙ValuePair。 我如何告诉数据组如何划分具体类型? 我的猜测是使用某种类型的变压器,但如何确切? Thanx