0

我正在开发一个 .NET 控件,它需要根据节点中的属性值列出 XML 文件中的值,但我很难获取我的数据。

XML 的格式如下:

<root>
  <item>
     <field name="business title">My Hardware Store</field>
     <field name="address">123 Main Street</field>
  </item>
  <item>
     <field name="business title">Corner Bar</field>
     <field name="address">345 Country Blvd</field>
  </item>
</root>

我已经使用以下 VB 正确加载了 XML 文件:

 Dim doc As New XmlDocument()

doc.Load(MapPath(filepath))
Dim nodes As XmlNodeList = doc.SelectNodes("root/item/field")

lvDirectoryListing.DataSource = nodes
'binding dataset to listview.
lvDirectoryListing.DataBind()

但是我在找出 ASCX 文件中的绑定时遇到了麻烦。我需要转发器来显示页面上的所有业务标题。因此,当节点名称为“字段”和名称属性值时,我需要节点值是“业务标题”。我可以找到有关如何获取节点值以及如何获取属性值的各种信息,但对于我要查找的内容却一无所获。帮助?

4

2 回答 2

0

想通了这个。在 VB 代码中,我只需要拉下前两个节点:

Dim nodes As XmlNodeList = doc.SelectNodes("root/item")

然后,在 ASCX 文件中,使用数据绑定中的 XPath 将结果限制为具有此特定属性的字段的节点值:

<%# XPath("feild[@name='business title']")%>
于 2013-05-22T17:55:47.290 回答
0

您不能将您的 xpath 更改为:

doc.SelectNodes("root/item/field[name='business title']")
于 2013-05-22T15:37:47.553 回答