mirror of
https://github.com/github/codeql.git
synced 2025-12-23 20:26:32 +01:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
from flask import request, Flask
|
|
from io import StringIO, BytesIO
|
|
import xml.dom.minidom
|
|
import xml.dom.pulldom
|
|
import xml.sax
|
|
|
|
app = Flask(__name__)
|
|
|
|
# Parsing
|
|
|
|
@app.route("/xml_minidom_parse")
|
|
def xml_minidom_parse():
|
|
xml_content = request.args['xml_content']
|
|
|
|
return xml.dom.minidom.parse(StringIO(xml_content)).documentElement.childNodes
|
|
|
|
@app.route("/xml_minidom_parseString")
|
|
def xml_minidom_parseString():
|
|
xml_content = request.args['xml_content']
|
|
|
|
return xml.dom.minidom.parseString(xml_content).documentElement.childNodes
|
|
|
|
@app.route("/xml_pulldom_parse")
|
|
def xml_pulldom_parse():
|
|
xml_content = request.args['xml_content']
|
|
|
|
return xml.dom.pulldom.parse(StringIO(xml_content))['START_DOCUMENT'][1].documentElement.childNodes
|
|
|
|
@app.route("/xml_pulldom_parseString")
|
|
def xml_pulldom_parseString():
|
|
xml_content = request.args['xml_content']
|
|
|
|
return xml.dom.pulldom.parseString(xml_content)['START_DOCUMENT'][1].documentElement.childNodes
|
|
|
|
# With parsers
|
|
|
|
@app.route("/xml_minidom_parse_xml_sax_make_parser")
|
|
def xml_minidom_parse_xml_sax_make_parser():
|
|
xml_content = request.args['xml_content']
|
|
|
|
parser = xml.sax.make_parser()
|
|
parser.setFeature(xml.sax.handler.feature_external_ges, True)
|
|
return xml.dom.minidom.parse(StringIO(xml_content), parser=parser).documentElement.childNodes
|
|
|