【发布时间】:2013-09-06 17:21:51
【问题描述】:
我有一个 XPath
//*[@class]
我想创建一个 XPath 来选择该属性内的内容。
<li class="tab-off" id="navList0">
所以在这种情况下,我想提取文本“tab-off”,这可以通过 XPath 实现吗?
【问题讨论】:
-
我试过 //*[@class]/@class 它工作得很好。
我有一个 XPath
//*[@class]
我想创建一个 XPath 来选择该属性内的内容。
<li class="tab-off" id="navList0">
所以在这种情况下,我想提取文本“tab-off”,这可以通过 XPath 实现吗?
【问题讨论】:
您原来的//*[@class] XPath 查询返回所有具有class 属性的元素。你想要的是//*[@class]/@class 来检索属性本身。
如果您只想要值而不是属性名称,请尝试使用string(//*[@class]/@class)。
【讨论】:
//*[@class]/@class 和 string(//*[@class]/@class) 之间的差异?
//*[@class]/@class 会给你结果..为什么需要字符串函数?
如果你是专门从一个
//li[@class]
并遍历结果集以找到具有“tab-off”属性的类。或者
//li[@class='tab-off']
如果您能够进行硬编码。
我假设您已经通过 XML 解析器(如 DOMParser)放置文件。这将使提取特定标签上可能需要的任何其他值变得更加容易。
【讨论】: