Xpath //a[contains(@class, 'storylink')]/@*
将提取锚标记的所有属性。我的xml中的锚标记没有标题属性,该属性通常包含链接的内容。有没有办法在XPATH 1.0中选择锚点链接中的 href和文本内容?
答案 0 :(得分:2)
如果要在单个XPath选择中同时选择@href
和text()
,则可以使用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选择属性和文本,但是如果它们在一个查询结果中都混乱了,那么再次分离它们会很麻烦。