Xpath如何根据href的内容获取href的内容

时间:2015-10-29 06:54:05

标签: xpath

如果href包含特定单词,我如何获取href的内容,例如:

<a href="/contacts.asp" class="">click here</a>

如何根据其中包含“联系人”一词来抓取“contacts.asp”?

尝试了//a/@href[contains(@href,'contact')]的变体,但似乎没有任何地方

2 个答案:

答案 0 :(得分:1)

  

尝试了//a/@href[contains(@href,'contact')]的变体,但似乎没有任何地方

你快到了。

contains测试中,您已经在href属性的上下文中,因此您的测试应该针对.,而不是您的xpath所具有的@href,它试图在 href属性下查找href属性。这当然行不通。

尝试

//a/@href[contains(.,'contact')]

这表示“查找href元素上的所有a属性,以便href属性值本身包含contact”。

请注意,这会返回href属性;你是usnig的图书馆将有办法挑选价值。

答案 1 :(得分:0)

在你的路径中,你 @href,所以你的包含不起作用。

试试这样:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" omit-xml-declaration="yes" indent="yes" version="1.0" encoding="utf-8"/>
  <xsl:template match="/">
    <xsl:value-of select="//a[contains(@href,'contact')]"/>
  </xsl:template>
</xsl:stylesheet>