用XML文件填充ComboBox,代码不起作用

时间:2016-02-16 11:58:45

标签: xml vb.net combobox

我有以下vb.net代码和XML文件。我想要实现的是将每个TTN值添加到ComboBox,但我没有得到任何结果。没有任何错误。我检查了XML文件,并且它没有错误地传递。有人可以解释出了什么问题。

Dim xml_doc As New XmlDocument
Dim nodelist As XmlNodeList
Dim node As XmlElement
xml_doc.Load(IO.Directory.GetCurrentDirectory & "\Stock.xml")
nodelist = xml_doc.SelectNodes("Compelation/Data/TTN")
For Each node In nodelist
    ComboBox1.Items.Add(node.InnerText())
Next

XML文件:

<COMPELATION>
    <Data>
        <TTN>FD33</TTN>
        <FJQ>3</FJQ>
        <TTH>257,85</TTH>
        <TTW>290</TTW>
        <FCT>SC1-CON</FCT>
        <MTD>50</MTD>
        <MTT>2</MTT>
        <DVB>20</DVB>
        <TVB>2</TVB>
        <DTP>12</DTP>
        <MAT>6082 T6</MAT>
        <TSW>0,044</TSW>
    </Data>
    <Data>
        <TTN>FD34</TTN>
        <FJQ>4</FJQ>
        <TTH>290</TTH>
        <TTW>290</TTW>
        <FCT>SC1-CON</FCT>
        <MTD>50</MTD>
        <MTT>2</MTT>
        <DVB>20</DVB>
        <TVB>2</TVB>
        <DTP>12</DTP>
        <MAT>6082 T6</MAT>
        <TSW>0,058</TSW>
    </Data>
</COMPELATION>

2 个答案:

答案 0 :(得分:1)

这个怎么样:

    Dim doc As XElement
    XElement.Load(IO.Path.Combine(IO.Directory.GetCurrentDirectory, "Stock.xml"))

    Dim ttnNodes As IEnumerable(Of String) = From xe As XElement In doc.<Data>.<TTN>
                                               Select xe.Value

    ComboBox1.DataSource = ttnNodes.ToList

为了测试这个,我用它来代替加载文件

    doc = <COMPELATION>
              <Data>
                  <TTN>FD33</TTN>
                  <FJQ>3</FJQ>
                  <TTH>257,85</TTH>
                  <TTW>290</TTW>
                  <FCT>SC1-CON</FCT>
                  <MTD>50</MTD>
                  <MTT>2</MTT>
                  <DVB>20</DVB>
                  <TVB>2</TVB>
                  <DTP>12</DTP>
                  <MAT>6082 T6</MAT>
                  <TSW>0,044</TSW>
              </Data>
              <Data>
                  <TTN>FD34</TTN>
                  <FJQ>4</FJQ>
                  <TTH>290</TTH>
                  <TTW>290</TTW>
                  <FCT>SC1-CON</FCT>
                  <MTD>50</MTD>
                  <MTT>2</MTT>
                  <DVB>20</DVB>
                  <TVB>2</TVB>
                  <DTP>12</DTP>
                  <MAT>6082 T6</MAT>
                  <TSW>0,058</TSW>
              </Data>
          </COMPELATION>

答案 1 :(得分:1)

这也适合你:

nodelist = xml_doc.SelectNodes("COMPELATION/Data/TTN")