有時幫同事定位問題,一頓分析之后才發現是同事修改xml配置文件,把文件格式改錯了,解析失敗導致的故障。
低級錯誤浪費大量時間啊~
一個簡單的辦法是把xml文件拖動到IE瀏覽器中打開,如果文件格式不正確的話,IE就會提示。
然而有時文件在服務器上,導到Windows上,再用IE打開,還是略繁瑣了一些,因此用python寫了一段,來驗證xml格式的正確性。
不得不說,sax方式解析xml挺繁瑣,但是用來驗證xml還是出乎意料的簡短。
import sys from xml.sax.handler import ContentHandler from xml.sax import make_parser def parseFile(fileName): parser = make_parser() parser.setContentHandler(ContentHandler()) parser.parse(fileName) if __name__ == '__main__': args = sys.argv try: filename = args[1] except Exception: print('\tERROR: no input file!') try: parseFile(filename) print('\n\t:), %s is OK!\n' % filename) except Exception as e: print('\n\t:(, Error found in file:%s\n' % e)