有没有办法通过Xpath获取元素属性名称?

时间:2016-09-02 04:17:34

标签: html xml xpath

我可以通过Xpath获取元素的属性值,但是如何获取所有属性名称?

示例:

# there is an element
'<img src="http://fakesrc" alt="pic name"></img>'
i = <Element img at 0x102622cb0>

In [10]: i.xpath("//img/@src")
Out[10]: ['http://fakesrc']

In [11]: i.xpath("//img/@*")
Out[11]: ['http://fakesrc', 'pic name']

如何获取i的名称src / alt?

1 个答案:

答案 0 :(得分:1)

根据您是否要包含名称空间前缀,您可以在XPath 2.0中选择以下两个选项:

//@*/local-name()
//@*/name()

选择适合您需求的其他初始上下文节点,并选择see the specifications以获取更多信息。

使用XPath 1.0,以上操作是不可能的。以下 可以工作,但只会显示一个属性的属性名称,即使有多个属性也是如此。

local-name(//@*)
name(//@*)