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 + -
显示快捷键?