这是我的代码和XML:
xml_string = """
<data>
<user>
<name>123</name>
</user>
<user>
<name>456</name>
</user>
</data>
"""
import xml.etree.ElementTree as ET
root = ET.fromstring(xml_string)
Run Code Online (Sandbox Code Playgroud)
我正在尝试查找文本值等于123的<user>标签<name>。
我尝试过的
result = root.findall("./user[name = '123']")
result = root.findall("./user[./name = '123']")
result = root.findall("./user[/name = '123']")
result = root.findall("./user[./name text() = '123']")
Run Code Online (Sandbox Code Playgroud)
这些尝试均无济于事。我想念什么?
我得到的错误:
raise SyntaxError("invalid predicate")
File "<string>", line None
SyntaxError: invalid predicate
Run Code Online (Sandbox Code Playgroud)
如异常所示,谓词似乎存在语法错误,标记名和值之间不应有空格:
xml_string = """
<data>
<user>
<name>123</name>
</user>
<user>
<name>456</name>
</user>
</data>
"""
import xml.etree.ElementTree as ET
root = ET.fromstring(xml_string)
result = root.findall("./user[name='123']")
print result
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
744 次 |
| 最近记录: |