summaryrefslogtreecommitdiff
path: root/defusedxml/ElementTree.py
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2021-03-04 11:34:33 +0100
committerChristian Heimes <christian@python.org>2021-03-04 11:41:18 +0100
commit1ac00c6dcb7696b960611ebdd80964907d7d07ae (patch)
treefa4782731e9f1d6fa20349960983dc1a47009a86 /defusedxml/ElementTree.py
parent62634db29bc2ed05a8504cf022ba101f2e720f2f (diff)
downloaddefusedxml-git-1ac00c6dcb7696b960611ebdd80964907d7d07ae.tar.gz
Add ElementTree.fromstringlist()
Include ``fromstringlist()`` method introduced in Python 3.2. Closes: #47 Co-authored-by: Antoine <antoine.sb@orange.fr> Signed-off-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'defusedxml/ElementTree.py')
-rw-r--r--defusedxml/ElementTree.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/defusedxml/ElementTree.py b/defusedxml/ElementTree.py
index f2f8d61..7209661 100644
--- a/defusedxml/ElementTree.py
+++ b/defusedxml/ElementTree.py
@@ -160,6 +160,18 @@ def fromstring(text, forbid_dtd=False, forbid_entities=True, forbid_external=Tru
XML = fromstring
+def fromstringlist(sequence, forbid_dtd=False, forbid_entities=True, forbid_external=True):
+ parser = DefusedXMLParser(
+ target=_TreeBuilder(),
+ forbid_dtd=forbid_dtd,
+ forbid_entities=forbid_entities,
+ forbid_external=forbid_external,
+ )
+ for text in sequence:
+ parser.feed(text)
+ return parser.close()
+
+
__all__ = [
"ParseError",
"XML",
@@ -167,6 +179,7 @@ __all__ = [
"XMLParser",
"XMLTreeBuilder",
"fromstring",
+ "fromstringlist",
"iterparse",
"parse",
"tostring",