我正在尝试ET.interparse()在for循环中编写XML元素的新属性值。有关如何执行此操作的建议?
我想避免打开整个XML文件,因为它很大,这就是为什么我一次只在start事件中打开一个元素的原因。
这是我的代码:
import xml.etree.cElementTree as ET
def main_function:
osmfile = 'sample.osm'
osm_file = open(osmfile, 'r+')
for event, elem in ET.interparse(osm_file, events=('start',)):
if elem.tag == 'node':
for tag in elem.iter('tag'):
if is_addr_street_tag(tag): # Function returns boolean
cleaned_street_name = cleaning_street(tag.attrib['v']) # Function returns cleaned street name
##===================================================##
## Write cleaned_street_name to XML tag attrib value ##
##===================================================##
osm_file.close()
富国沪深
相关分类