0

ドロップダウンリストのデータソースとして使用する(文字列の)リストを生成しようとしています。私はこれを何度も行ってきましたが、このバージョンでは通常のようにアイテムを分離していません。

これがxmlサンプルです

<fueltypes>
<fuel>
  <type>Marine Diesel NY Harbor</type>
  <dbheader>NYMarineDiesel</dbheader>
</fuel>
<fuel>
  <type>ULSD NY Harbor</type>
  <dbheader>NYULSD</dbheader>
</fuel>
</fueltypes>

これが機能です

Public Shared Function GetFuelTypes(ddlControl As Control) As List(Of String)
    Dim doc As New XmlDocument()

    'Load XML from the file into XmlDocument object
    doc.Load("H:\OtherDataFiles\dataXML.xml") 'this needs to be changed to the server path
    Dim root As XmlNode = doc.DocumentElement

    'Select all nodes with the tag paramter indicated by the nodestring variable
    Dim nodeList As XmlNodeList = root.SelectNodes("fueltypes")
    Return (From node As XmlNode In nodeList Select node.InnerText).ToList()
End Function 

次のようにドロップダウンにバインドされます

 'load the fuel types into the dropdownlist
    ddlFuelTypes.DataSource = GetFuelTypes()
    ddlFuelTypes.DataBind()
    ddlFuelTypes.SelectedIndex = 1

ドロップダウンには、すべてのアイテムが1行で表示されます

4

1 に答える 1

0

必要なnodeListテキストを含むサブ要素に到達できるように、完全に修飾する必要があります。たとえば、

Dim nodeList As XmlNodeList = root.SelectNodes("/fueltypes/fuel/type")

または、ループしてnodeList必要な要素を読み取る必要があります。たとえば、

Dim nodeList As XmlNodeList = root.SelectNodes("/fueltypes/fuel")

For Each fuelNode In nodeList
    Dim fuelType = fuelNode.ChildNodes.Item(0).InnerText
于 2012-09-01T00:19:32.450 に答える