validate.py
来自「xml开源解析代码.版本为libxml2-2.6.29,可支持GB3212.网络」· Python 代码 · 共 83 行
PY
83 行
#!/usr/bin/python -uimport sysimport libxml2# Memory debug specificlibxml2.debugMemory(1)ctxt = libxml2.createFileParserCtxt("valid.xml")ctxt.validate(1)ctxt.parseDocument()doc = ctxt.doc()valid = ctxt.isValid()if doc.name != "valid.xml": print "doc.name failed" sys.exit(1)root = doc.childrenif root.name != "doc": print "root.name failed" sys.exit(1)if valid != 1: print "validity chec failed" sys.exit(1)doc.freeDoc()i = 1000while i > 0: ctxt = libxml2.createFileParserCtxt("valid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() doc.freeDoc() if valid != 1: print "validity check failed" sys.exit(1) i = i - 1#desactivate error messages from the validationdef noerr(ctx, str): passlibxml2.registerErrorHandler(noerr, None)ctxt = libxml2.createFileParserCtxt("invalid.xml")ctxt.validate(1)ctxt.parseDocument()doc = ctxt.doc()valid = ctxt.isValid()if doc.name != "invalid.xml": print "doc.name failed" sys.exit(1)root = doc.childrenif root.name != "doc": print "root.name failed" sys.exit(1)if valid != 0: print "validity chec failed" sys.exit(1)doc.freeDoc()i = 1000while i > 0: ctxt = libxml2.createFileParserCtxt("invalid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() doc.freeDoc() if valid != 0: print "validity check failed" sys.exit(1) i = i - 1del ctxt# 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 + =
减小字号Ctrl + -
显示快捷键?