⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctxterror.py

📁 xml开源解析代码.版本为libxml2-2.6.29,可支持GB3212.网络消息发送XML时很有用.
💻 PY
字号:
#!/usr/bin/python -u## This test exercise the redirection of error messages with a# functions defined in Python.#import sysimport libxml2# Memory debug specificlibxml2.debugMemory(1)expect="""--> (3) xmlns: URI foo is not absolute--> (4) Opening and ending tag mismatch: x line 0 and y"""err=""def callback(arg,msg,severity,reserved):    global err    err = err + "%s (%d) %s" % (arg,severity,msg)s = """<x xmlns="foo"></y>"""parserCtxt = libxml2.createPushParser(None,"",0,"test.xml")parserCtxt.setErrorHandler(callback, "-->")if parserCtxt.getErrorHandler() != (callback,"-->"):    print "getErrorHandler failed"    sys.exit(1)parserCtxt.parseChunk(s,len(s),1)doc = parserCtxt.doc()doc.freeDoc()parserCtxt = Noneif err != expect:    print "error"    print "received %s" %(err)    print "expected %s" %(expect)    sys.exit(1)i = 10000while i > 0:    parserCtxt = libxml2.createPushParser(None,"",0,"test.xml")    parserCtxt.setErrorHandler(callback, "-->")    parserCtxt.parseChunk(s,len(s),1)    doc = parserCtxt.doc()    doc.freeDoc()    parserCtxt = None    err = ""    i = i - 1# Memory debug specificlibxml2.cleanupParser()if libxml2.debugMemory(1) == 0:    print "OK"else:    print "Memory leak %d bytes" % (libxml2.debugMemory(1))    libxml2.dumpMemory()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -