2011-05-11 79 views
0

我是一个合作学生学习vb.net和我有一个项目,从程序内的xml文件检索数据(基于组合框的选择)和计算并显示价格。VB.NET 2010快速数据集/数据视图问题与XML

我的XML看起来是这样的:
< .Root>
.... < .Processes>
........ < .Process> 12345个< ./Process>
.. ...... < .12345Material_Process>此过程< ./12345Material_Process>
........ < .Rate> 20 < ./Rate>
........ <。键入>氮气< ./Type>
........ <.Dia> 0.125 < ./Dia>



... < ./Processes>
.... < .Machines>
........ <。机> AB12345
........ < .Machine_Type> 12345 4000 < ./Machine_Type>
........ < .AB12345Bed_Size> 4000 < ./AB12345Bed_Size>
........ < .Base_Price> $ 831.00 < ./Base_Price>



.... < ./Machines>
< ./Root>
*周期是为显示(无法弄清楚如何显示XML代码,我是新的代码!)

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

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和试图通过很多论坛和例子来理解它,以及搜索。
任何帮助非常感谢。

回答

0

因此很显然我不太了解XML。我将“<.Machines>”标记重命名为“<。进程>”,现在它可以工作。现在我想到了,我之前有过类似的问题。
所以我想我会更好地注册下一届XML课程!