asp.net - 使用 Xpath 检索元素的文本内容

标签 asp.net xml vb.net xpath

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

<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") 

但是什么也没显示。

最佳答案

您的 xpath 需要更改为

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

这个特定 xpath 的语法意思是“给我元素 meas 的值,该元素是 oriondata 的子元素,其属性 name值为'GiftShopTime'”。

关于asp.net - 使用 Xpath 检索元素的文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009087/

相关文章:

c# - ASP.NET MVC 从虚拟路径获取文件

Java DOM 解析器无法解析一行 XML

vb.net - 增加行大小取决于 DataGridView 中的图像

c# - 如何在 wpf/winforms 应用程序中将 DLL 与 .exe 组合(包含图片)

.net - Visual Studio - 在设计 View 中显示属性窗口,但在代码 View 中隐藏

asp.net - Web 用户控件中的外部 JS 文件?

asp.net - IgnoreRoute with webservice - 从路由中排除 asmx URL

c# - asp.net 仅从 DateTime 列中提取日期

xml - Tableau 工作簿 XML 架构

java - Json 版本的 XMLElements 选择