当前位置: 首页>>代码示例>>Python>>正文


Python sax.handler方法代码示例

本文整理汇总了Python中xml.sax.handler方法的典型用法代码示例。如果您正苦于以下问题:Python sax.handler方法的具体用法?Python sax.handler怎么用?Python sax.handler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xml.sax的用法示例。


在下文中一共展示了sax.handler方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_parser

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def get_parser(document=None, namespaces=1, validate=0, external_ges=1,
        logfile=None, doc_factory=new_document):
    import xml
    if hasattr(xml, "use_pyxml"):
        xml.use_pyxml()
    import xml.sax.sax2exts
    import xml.sax.handler
    handler = POM.ContentHandler(document, doc_factory=doc_factory, logfile=logfile)
    errorhandler = POM.ErrorHandler(logfile)
    # create parser
    parser = xml.sax.sax2exts.XMLParserFactory.make_parser()
    parser.setFeature(xml.sax.handler.feature_namespaces, namespaces)
    parser.setFeature(xml.sax.handler.feature_validation, validate)
    parser.setFeature(xml.sax.handler.feature_external_ges, external_ges)
    parser.setFeature(xml.sax.handler.feature_external_pes, 0)
    parser.setFeature(xml.sax.handler.feature_string_interning, 1)
    # set handlers
    parser.setContentHandler(handler)
    parser.setDTDHandler(handler)
    parser.setEntityResolver(handler)
    parser.setErrorHandler(errorhandler)
    return parser 
开发者ID:kdart,项目名称:pycopia,代码行数:24,代码来源:rss.py

示例2: reset

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def reset(self):
        self.pulldom = PullDOM()
        # This content handler relies on namespace support
        self.parser.setFeature(xml.sax.handler.feature_namespaces, 1)
        self.parser.setContentHandler(self.pulldom) 
开发者ID:war-and-code,项目名称:jawfish,代码行数:7,代码来源:pulldom.py

示例3: get_parser

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def get_parser(document=None, namespaces=0, validate=0, external_ges=1,
        logfile=None, doc_factory=POM.new_document):
    import xml
    if hasattr(xml, "use_pyxml"):
        xml.use_pyxml()
    import xml.sax.sax2exts
    import xml.sax.handler
    import new
    handler = ContentHandler(document, doc_factory=doc_factory, logfile=logfile)
    errorhandler = ErrorHandler(logfile)
    # create parser
    parser = xml.sax.sax2exts.XMLParserFactory.make_parser()
    parser.setFeature(xml.sax.handler.feature_namespaces, namespaces)
    parser.setFeature(xml.sax.handler.feature_validation, validate)
    parser.setFeature(xml.sax.handler.feature_external_ges, external_ges)
    parser.setFeature(xml.sax.handler.feature_external_pes, 0)
    parser.setFeature(xml.sax.handler.feature_string_interning, 1)
    # set handlers
    parser.setContentHandler(handler)
    parser.setDTDHandler(handler)
    parser.setEntityResolver(handler)
    parser.setErrorHandler(errorhandler)
    # since the xml API provides some generic parser I can't just
    # subclass I have to "patch" the object in-place with this trick.
    # This is to a) make the API compatible with the HTMLParser, and b)
    # allow specifing the encoding and other headers in the request.
    parser.parse_orig = parser.parse
    def parse(self, url, data=None, encoding=POM.DEFAULT_ENCODING,
                                    useragent=None, accept=None):
        from pycopia.WWW import urllibplus
        fo = urllibplus.urlopen(url, data, encoding, useragent=useragent, accept=accept)
        if logfile:
            from pycopia import UserFile
            fo = UserFile.FileWrapper(fo, logfile=logfile)
        return self.parse_orig(fo)
    parser.parse = new.instancemethod(parse, parser, parser.__class__)
    return parser 
开发者ID:kdart,项目名称:pycopia,代码行数:39,代码来源:POMparse.py

示例4: get_parser

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def get_parser(logfile=None, namespaces=0, validate=0, external_ges=0):
    handler = ContentHandler()
    # create parser
    parser = xml.sax.sax2exts.XMLParserFactory.make_parser()
    parser.setFeature(xml.sax.handler.feature_namespaces, namespaces)
    parser.setFeature(xml.sax.handler.feature_validation, validate)
    parser.setFeature(xml.sax.handler.feature_external_ges, external_ges)
    parser.setFeature(xml.sax.handler.feature_external_pes, 0)
    parser.setFeature(xml.sax.handler.feature_string_interning, 1)
    # set handlers
    parser.setContentHandler(handler)
    parser.setDTDHandler(handler)
    parser.setEntityResolver(handler)
    parser.setErrorHandler(ErrorHandler(logfile))
    return parser 
开发者ID:kdart,项目名称:pycopia,代码行数:17,代码来源:nmap.py

示例5: main

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def main(argv: Optional[Sequence[str]] = None) -> int:
    parser = argparse.ArgumentParser()
    parser.add_argument('filenames', nargs='*', help='XML filenames to check.')
    args = parser.parse_args(argv)

    retval = 0
    handler = xml.sax.handler.ContentHandler()
    for filename in args.filenames:
        try:
            with open(filename, 'rb') as xml_file:
                xml.sax.parse(xml_file, handler)
        except xml.sax.SAXException as exc:
            print(f'{filename}: Failed to xml parse ({exc})')
            retval = 1
    return retval 
开发者ID:pre-commit,项目名称:pre-commit-hooks,代码行数:17,代码来源:check_xml.py

示例6: test_javasax_with_skipEntity

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def test_javasax_with_skipEntity(self):
        content = '<!DOCTYPE Message [<!ENTITY xxe SYSTEM "http://aws.amazon.com/">]><Message>error:&xxe;</Message>'

        root = RootElement()
        handler = XmlHandler(root, root)
        parser = xml.sax.make_parser()
        parser.setContentHandler(handler)
        parser.setFeature(xml.sax.handler.feature_external_ges, 0)
        parser.parse(StringIO(content))

        self.assertEqual('Message', root.start_elements[0][0])
        self.assertItemsEqual([['Message', 'error:', root]], root.end_elements) 
开发者ID:Acmesec,项目名称:CTFCrackTools-V2,代码行数:14,代码来源:test_xml_sax_jy.py

示例7: create_parser

# 需要导入模块: from xml import sax [as 别名]
# 或者: from xml.sax import handler [as 别名]
def create_parser():
    """创建并返回一个 AIML 解析器对象。"""
    parser = xml.sax.make_parser()
    handler = AimlHandler("UTF-8")
    parser.setContentHandler(handler)
    #parser.setFeature(xml.sax.handler.feature_namespaces, True)
    return parser 
开发者ID:yaleimeng,项目名称:py3Aiml_Chinese,代码行数:9,代码来源:AimlParser.py


注:本文中的xml.sax.handler方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。