Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用lxml查找元素属性_Python_Xml_Lxml - Fatal编程技术网

Python 如何使用lxml查找元素属性

Python 如何使用lxml查找元素属性,python,xml,lxml,Python,Xml,Lxml,假设我有以下xml: <package xmlns="http://example/namespace"> <rating system="au-oflc">PG</rating> ... </package> 如何获取值“au oflc”?您需要检索节点本身,而不是其文本: rating = node.xpath('//t:rating', namespaces = {'t':'http://example/namespace'

假设我有以下xml:

<package xmlns="http://example/namespace">
    <rating system="au-oflc">PG</rating>
    ...
</package>

如何获取值“au oflc”?

您需要检索节点本身,而不是其文本:

rating = node.xpath('//t:rating', namespaces = {'t':'http://example/namespace'})
print rating[0].attrib['system']

您还可以使用XPath访问该属性:

system = node.xpath('//t:rating/@system', namespaces = {'t':'http://example/namespace'})
print system[0]
's假设所有
评级
元素都有
系统
标签。如果情况并非如此,则使用
rating[0].attrib.get('system')
将避免出现键错误

system = node.xpath('//t:rating/@system', namespaces = {'t':'http://example/namespace'})
print system[0]