使用Python从xml文件中删除注释

2024-04-25 05:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从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", "")
            data = data.replace("% <", "<")
            data = data.replace("-->", "")
            infile.close( )
        with open(strng, 'w') as infile:
            infile.write(data)
            infile.close( )

我可以从文件中删除注释。但当我在代码中进一步尝试使用xml.etree文件的findall()方法,最后一行是
文件系统库框架/Python.framework/Versions/2.7/lib/python2.7/回复,第155行,在sub return\u compile(pattern,flags).sub(repl,string,count) TypeError:应为字符串或缓冲区

注释标记看起来像<!-- %UNICEF_INTERNAL_ELEMENT% (Useful Text)-->
因此,我必须删除<!-- %UNICEF_INTERNAL_ELEMENT% and -->,这是我能够做到的,但是为什么我的后续代码不能正确读取xml呢 还有一点是,注释中的xml部分是有效的xml,但格式不好。所有嵌套的标记都在一行中。你知道吗


Tags: 文件代码标记closedataosaswith