使用Xpath检索元素的文本内容

时间:2011-02-15 20:23:21

标签: asp.net xml vb.net xpath

您好我正在尝试使用xpath读取我的xml文档。我已经在这几个星期了,只是学习XML和VB,但似乎我遇到了障碍。我尝试了几次不同的尝试,使用xpathnavigator类在网页上显示XML文件没有问题。但后来我需要格式化成一个html表,所以我采取了另一条路线,只是添加了xmldatasource与formview。所以这是我的代码

<oriondata station='GiftShop'>
<meas name="GiftShopTime">2011/02/08 16:39:01</meas>
<meas name="GiftShopItemNumber">6</meas>
<meas name="GiftShopDuration">200</meas>
</oriondata>

我想要获取的值是此示例中的日期“2011/02/08 16:39:01”和数字“6”以及持续时间“200”

如果我使用

,不确定我做错了什么
<asp:Label ID="lblID" Runat="server" Text='<%# XPath("//oriondata/meas/@name") %>' /></b><br/>

这给了我“GiftShopTime”但不是实际时间。如果我只是使用这个

<asp:Label ID="lblID" Runat="server" Text='<%# XPath(".") %>' />
</b><br/>

从我正在阅读的内容中获取当前节点,但当我这样做时,当前节点恰好是实际时间

我还没想出一种方法来指定我认为应该起作用的每个名字

Xpath("/oriondata/meas/name/@GiftShopTime") 

但没有显示任何内容。

3 个答案:

答案 0 :(得分:4)

您的xpath需要更改为

Xpath("/oriondata/meas[@name='GiftShopTime']") 

此特定xpath的语法表示“给我 oriondata 的子元素 meas 元素的值,其属性 name 具有值'GiftShopTime'“。

答案 1 :(得分:1)

  

所以这是我的代码

    <oriondata station='GiftShop'>
      <meas name="GiftShopTime">2011/02/08 16:39:01</meas>
      <meas name="GiftShopItemNumber">6</meas>
      <meas name="GiftShopDuration">200</meas>
    </oriondata>
  

我想要抓住的价值观   日期“2011/02/08 16:39:01”在此   示例和数字“6”也是   持续时间是“200”

分别使用

/*/meas[@name='GiftShopTime']
/*/meas[@name='GiftShopItemNumber']
/*/meas[@name='GiftShopDuration']

答案 2 :(得分:0)

尝试以下方法:// oriondata / meas [@ name ='GiftShopTime'] / textContents

相关问题