使用xpath选择属性和内容?

时间:2018-04-02 20:04:17

标签: javascript xml xpath xquery

Xpath //a[contains(@class, 'storylink')]/@*将提取锚标记的所有属性。我的xml中的锚标记没有标题属性,该属性通常包含链接的内容。有没有办法在XPATH 1.0中选择锚点链接中的 href和文本内容?

2 个答案:

答案 0 :(得分:2)

如果要在单个XPath选择中同时选择@hreftext(),则可以使用union运算符|

使用XPath 1.0,这可能是您可以做的最好的事情:

//a[contains(@class, 'storylink')]/@href | //a[contains(@class, 'storylink')]/text()

使用XPath 2.0(或更高版本),您可以避免重复锚选择标准:

//a[contains(@class, 'storylink')]/(@href,text())

答案 1 :(得分:0)

只需使用a选择//a[contains(@class, 'storylink')]元素,然后在返回的元素节点上使用Javascript方法获取所需的属性和/或文本内容。

你确实可以使用XPath选择属性和文本,但是如果它们在一个查询结果中都混乱了,那么再次分离它们会很麻烦。