Python 如何解析处于多层次结构下的XML文件?
它对我不起作用,因为它给我 AttributeError:“非类型”对象没有属性“文本”Python 如何解析处于多层次结构下的XML文件?,python,xml-parsing,hierarchy,Python,Xml Parsing,Hierarchy,它对我不起作用,因为它给我 AttributeError:“非类型”对象没有属性“文本” 我在其他代码中也发现了同样的错误,请告诉我是否有解决方法。好吧,您在查找中使用的路径显然是错误的。 我建议您重新阅读文档,尤其是关于 虽然这对我有用 import xml.etree.ElementTree as ET tree = ET.parse(xml_file) root = tree.getroot() # element: jmeterTestPlan 使用这样的东西可能更好。 尤其是要替换多
我在其他代码中也发现了同样的错误,请告诉我是否有解决方法。好吧,您在
查找中使用的路径显然是错误的。
我建议您重新阅读文档,尤其是关于
虽然这对我有用
import xml.etree.ElementTree as ET
tree = ET.parse(xml_file)
root = tree.getroot() # element: jmeterTestPlan
使用这样的东西可能更好。
尤其是要替换多个值时:
print(root.find('./hashTree/hashTree/ThreadGroup/longProp[@name="ThreadGroup.end_time"]').text)
可以提供一个工作XML吗?这是无法解析的…好吧,我会把整个XML放进去,现在问题被编辑了
def cache_it2(datafile):
tree = et.parse(datafile)
tree.find('jmeterTestPlan/hashTree/hashTree/ThreadGroup/longProp/ThreadGroup.end_time').text = 'false'
tree.write(datafile)
import xml.etree.ElementTree as ET
tree = ET.parse(xml_file)
root = tree.getroot() # element: jmeterTestPlan
print(root.find('./hashTree/hashTree/ThreadGroup/longProp[@name="ThreadGroup.end_time"]').text)
names_and_values = {
"WebDriverConfig.maximize_browser" : "true",
"WebDriverConfig.reset_per_iteration": "true",
# ...
}
for name, value in names_and_values.items():
element = next(root.iterfind(f'.//*[@name="{name}"]'))
element.text = value
print(ET.tostring(root))