首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要下拉的xmlnodelist

要下拉的xmlnodelist
EN

Stack Overflow用户
提问于 2012-09-01 06:33:15
回答 1查看 356关注 0票数 0

我正在尝试生成一个列表(字符串),用作下拉列表的数据源。我已经这样做过很多次了,但是这个版本没有像往常那样把项目分离出来。

下面是一个xml示例

代码语言:javascript
复制
<fueltypes>
<fuel>
  <type>Marine Diesel NY Harbor</type>
  <dbheader>NYMarineDiesel</dbheader>
</fuel>
<fuel>
  <type>ULSD NY Harbor</type>
  <dbheader>NYULSD</dbheader>
</fuel>
</fueltypes>

下面是函数

代码语言:javascript
复制
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 

它们被绑定到下拉列表,如下所示

代码语言:javascript
复制
 'load the fuel types into the dropdownlist
    ddlFuelTypes.DataSource = GetFuelTypes()
    ddlFuelTypes.DataBind()
    ddlFuelTypes.SelectedIndex = 1

下拉列表在一行中显示所有项目

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-01 08:19:32

您需要完全限定nodeList,以便找到包含所需文本的子元素,例如

代码语言:javascript
复制
Dim nodeList As XmlNodeList = root.SelectNodes("/fueltypes/fuel/type")

或者,您需要遍历nodeList并读取所需的元素,例如

代码语言:javascript
复制
Dim nodeList As XmlNodeList = root.SelectNodes("/fueltypes/fuel")

For Each fuelNode In nodeList
    Dim fuelType = fuelNode.ChildNodes.Item(0).InnerText
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12223238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档