首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python&ElementTree搜索XML中的变量属性

使用Python&ElementTree搜索XML中的变量属性
EN

Stack Overflow用户
提问于 2015-12-12 05:07:00
回答 1查看 862关注 0票数 1

我有一个类似于以下(简化)的XML:

代码语言:javascript
复制
<file id="file-10">
  <clip>1</clip>
  <timecode>1:00:00:00</timecode>
</file>
<file id="file-11">
  <clip>2</clip>
  <timecode>2:00:00:00</timecode>
</file>

我试图使用ElementTree搜索具有特定id属性的文件元素。这样做是可行的:

代码语言:javascript
复制
correctfile = root.find('file[@id="file-10"]')

这并不意味着:

代码语言:javascript
复制
fileid = 'file-10'
correctfile = root.find('file[@id=fileid]')

我得到:

SyntaxError:无效谓词

这是ElementTree的限制吗?我应该用别的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-12 05:08:36

"SyntaxError:无效谓词“

file[@id=fileid]是一个无效的XPath表达式,因为您忽略了属性值周围的引号。如果将引号放在fileidfile[@id="fileid"]周围,表达式将变得有效,但它不会找到任何内容,因为它将搜索id等于"fileid“字符串的file元素。

使用字符串格式将fileid值插入XPath表达式:

代码语言:javascript
复制
root.find('file[@id="{value}"]'.format(value=fileid))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34236514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档