使用Python从xml文件中删除注释
我想从xml文件中删除注释使用Python从xml文件中删除注释,python,xml,file,parsing,comments,Python,Xml,File,Parsing,Comments,我想从xml文件中删除注释 strng = os.path.join(input_dir, country_file) with open(strng, 'r') as infile: data = infile.read() data = data.replace("<!-- %", "") data = data.replace("UNICEF_INTERNAL_ELEMENT", "")
strng = os.path.join(input_dir, country_file)
with open(strng, 'r') as infile:
data = infile.read()
data = data.replace("<!-- %", "")
data = data.replace("UNICEF_INTERNAL_ELEMENT", "")
data = data.replace("% <", "<")
data = data.replace("-->", "")
infile.close( )
with open(strng, 'w') as infile:
infile.write(data)
infile.close( )
strng=os.path.join(输入目录,国家/地区文件)
以开放式(strng,'r')作为填充:
data=infle.read()
数据=数据。替换(“,”)
填充关闭()
以开放式(strng,'w')作为填充:
填充写入(数据)
填充关闭()
我可以从文件中删除注释。但当我在代码中进一步尝试使用xml.etree的findall()方法时,它会给出错误,最后一行是文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py”,第155行,子文件 return\u compile(模式、标志).sub(repl、字符串、计数) TypeError:应为字符串或缓冲区 注释标记看起来像
因此,我必须删除
,这是我能够做到的,但接下来的代码无法正确读取xml的原因。还有一点是,注释中的xml部分是有效的xml,但格式不好。所有嵌套的标记都在一行中。您可以发布处理eTree使用的代码部分吗?这与您遇到的错误无关,但是使用
with
块意味着您不必执行文件关闭()
-对于任何打开()
ed withwith
self.provider=names.alias(transaction_xml.findall(“provider org/叙事”)[0].text)这是代码。事务xml包含来自其他模块的xml树