我无法使用XML和ElementTree类。我有以下XML结构:
<workItem>
<stringExtensions>
<key>key1</key>
<value>value1</value>
</stringExtensions>
<stringExtensions>
<key>key2</key>
<value>value2</value>
</stringExtensions>
<stringExtensions>
<key>key3</key>
<value>value3</value>
</stringExtensions>
</workItem>
我想要做的是能够打印出值“value1”和“value3”(而不是“value2”)。为此,我需要一种过滤关键标签值“key1”和“key3”的方法。我目前的代码:
root = ElementTree.fromstring(r.content)
for entry in root.findall("workItem"):
print(entry.find("stringExtensions").find("value").text)
只打印出“value1”,因为它返回XML结构中的第一个结果。我需要在打印前添加某种“where”条件,以便根据“key”标记值指定特定的“value”标记值。
非常感谢任何帮助!
此致
安德鲁
答案 0 :(得分:0)
获取key1和key3值的值标记值
优化解决方案:
...
root = ElementTree.fromstring(r.content)
v1 = root.find('./stringExtensions[key="key1"]/value')
v3 = root.find('./stringExtensions[key="key3"]/value')
print(v1.text, v3.text, sep='\n')
输出:
value1
value3