diff options
author | Christian Heimes <christian@python.org> | 2021-03-04 11:34:33 +0100 |
---|---|---|
committer | Christian Heimes <christian@python.org> | 2021-03-04 11:41:18 +0100 |
commit | 1ac00c6dcb7696b960611ebdd80964907d7d07ae (patch) | |
tree | fa4782731e9f1d6fa20349960983dc1a47009a86 /defusedxml/ElementTree.py | |
parent | 62634db29bc2ed05a8504cf022ba101f2e720f2f (diff) | |
download | defusedxml-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.py | 13 |
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", |