[英]Find XPATH with namespace based on attribute element
我有以下xml:
<assets>
<asset type="full">
<file_name>WME__HD_2CH_EN_16X9_178_2398_FINAL.mov</file_name>
</asset>
...
</assets>
我有多个asset
块,因此我需要引用属性type = "full"
。 这是我目前必须引用的所有内容-
node.xpath("//t:assets/t:asset/t:file_name/text()",
namespaces={'t':'http://apple.com/itunes/importer'})
我如何仅引用type = "full"
的资产?
您可以将[@type="full"]
属性选择器添加到t:asset
:
node.xpath("//t:assets/t:asset[@type='full']/t:file_name/text()",
namespaces={'t':'http://apple.com/itunes/importer'})
尝试这个
node.xpath("//t:assets/t:asset[@type='full']/t:file_name/text()",
namespaces={'t':'http://apple.com/itunes/importer'})
@
表示法用于通过xpath选择属性。
因此, t:asset[@type='full']
意味着选择所有具有属性type
和值full
asset
元素。
在这里看看xpath synatx 。
node.xpath("//t:assets/t:asset[@type='full']/t:file_name/text()",
namespaces={'t':'http://apple.com/itunes/importer'})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.