使用Python

时间:2016-03-30 14:51:11

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

我可以从文件中删除评论。但是当我在代码中进一步尝试使用xml.etree的findall()方法时,它会给出错误,最后一行是 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py”,第155行,在sub中     return _compile(pattern,flags).sub(repl,string,count) TypeError:期望的字符串或缓冲区

评论标记看起来像<!-- %UNICEF_INTERNAL_ELEMENT% (Useful Text)-->
所以我必须删除我能够执行的<!-- %UNICEF_INTERNAL_ELEMENT% and -->但是为什么我的其他代码无法正确读取xml。
还有一件事是,注释内部的xml部分是有效的xml但格式不正确。所有嵌套标签都在一行中。

0 个答案:

没有答案