VB.NET 2010 Express Dataset / Dataview与XML的问题

时间:2011-05-11 17:04:59

标签: xml vb.net dataset xmlreader dataview

我是学习vb.net的合作学生,我有一个项目,可以从程序中的xml文件中检索数据(根据组合框中的选择),并计算和显示价格。

我的XML看起来像这样:
    < .Root>
        ....< .Processes>
    ........< .Process> 12345< ./ Process>
       ........< .12345Material_Process>此过程< ./ 12345Material_Process>

    ........< .Rate> 20< ./ Rate>
    ........< .Type>氮气< ./类型>
    ........< .Dia> 0.125< ./Dia>
        。
        。
        。
    ...< ./工艺与GT;
    ....< .Machines>
    ........<&。机GT; AB12345
    ........< .Machine_Type> 12345 4000< ./ Machine_Type>
    ........< .AB12345Bed_Size> 4000< ./ AB12345Bed_Size>

    ........< .Base_Price> $ 831.00< ./ Base_Price>

        。
        。
        。
    ....< ./机器和GT;
< ./根和GT;
*期间用于显示(无法弄清楚如何显示xml代码,我是新代码!)

我有一个组合框可以很好地加载来自Processes部分的数据,但是另一个使用相同的方法并获得“IndexOutOfRange”错误或“找不到AB12345Bed_Size列”,即使我对两者都使用相同的方法。对于“进程”,我在“< 12345Material_Process>”上使用DataView.Sort它反映了组合框中的选择项。该程序检索该行没有问题。 这是给我一个问题的代码:

   Dim xmlFile As XmlReader    
   xmlFile = XmlReader.Create("File.xml", New XmlReaderSettings())  
   Dim ds As New DataSet  
   Dim dv As DataView  
   ds.ReadXml(xmlFile)  

   dv = New DataView(ds.Tables(0))
   dv.Sort = strName & "Bed_Size"
   Dim index As Integer = dv.Find(cmbSize.SelectedItem)  
     

我读过msdn并尝试理解它,以及搜索许多论坛和例子   任何帮助是极大的赞赏。

1 个答案:

答案 0 :(得分:0)

显然我不太了解XML。我重命名为“< .Machines>”标签为“< .Processes>”现在它的工作原理。现在我想起来之前我遇到了类似的问题。
所以我想我最好早点注册那个XML课程吧!