Ste*_*ger 1 c# xml vb.net asp.net
问题:使用VB.NET/C#,如果没有重要工作,是否真的无法在数据集中读取以下XML?
我试过了
oDataSet.ReadXml(strFileName)<BR>
Run Code Online (Sandbox Code Playgroud)
和
Dim oDataSet As System.Data.DataSet = New System.Data.DataSet
Dim strLocation As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
strLocation += System.IO.Path.DirectorySeparatorChar + "filename.xml"
oDataSet.ReadXml(strLocation)
Run Code Online (Sandbox Code Playgroud)
但所有这一切都是在我的数据集中放置一行内容为"2010-02-12T10:33:39"的单元格...
这让我抓狂......
这是XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<dataroot generated="2010-02-12T10:33:39">
<Employee>
<MI_KZ>HKBZV</MI_KZ>
<MI_Name>Doe</MI_Name>
<MI_Vorname>John</MI_Vorname>
<MI_Nummer>70642860</MI_Nummer>
<MI_DatumVon>2010-02-11T10:45:37</MI_DatumVon>
<MI_DatumBis>2010-03-13T00:00:00</MI_DatumBis>
<AP_Bezeichnung>5-B-03</AP_Bezeichnung>
<KOE_Code>FHBM</KOE_Code>
<KST_Code></KST_Code>
<KST_Kurz><![CDATA[]]></KST_Kurz>
</Employee>
<Employee>
<MI_KZ>EX2FC</MI_KZ>
<MI_Name>Doe</MI_Name>
<MI_Vorname>Judith</MI_Vorname>
<MI_Nummer>70642680</MI_Nummer>
<MI_DatumVon>2010-02-10T14:12:56</MI_DatumVon>
<MI_DatumBis>2010-06-01T00:00:00</MI_DatumBis>
<AP_Bezeichnung>Gotth.</AP_Bezeichnung>
<KOE_Code>UEU</KOE_Code>
<KST_Code></KST_Code>
<KST_Kurz><![CDATA[]]></KST_Kurz>
</Employee>
<Employee>
<MI_KZ>EX0GW</MI_KZ>
<MI_Name>Testname</MI_Name>
<MI_Vorname>Testprename</MI_Vorname>
<MI_Nummer>70038630</MI_Nummer>
<MI_DatumVon>2004-05-11T00:00:00</MI_DatumVon>
<MI_DatumBis>2010-08-16T00:00:00</MI_DatumBis>
<AP_Bezeichnung>SempSee</AP_Bezeichnung>
<KOE_Code>KFMP</KOE_Code>
<KST_Code></KST_Code>
<KST_Kurz><![CDATA[]]></KST_Kurz>
</Employee>
</dataroot>
Run Code Online (Sandbox Code Playgroud)
数据集可以有多个你知道的表...尝试查看不同的表.
除此之外,该ReadXml()
方法实际上是用于读取用另一个数据集WriteXml()
方法写出的xml .
要读取任意 xml,您应该在示例xml文件上使用Visual Studio附带的xsd.exe程序.第一遍将为您的xml创建一个*.xsd模式文件.然后使用正确的选项在此xsd模式文件上再次运行该工具(抱歉,此机器上没有visual studio可以立即检查),它将创建一个类型化数据集,C#类文件或VB.Net类文件您可以用来"反序列化"您的xml数据.