diff options
Diffstat (limited to 'bs4/builder/_lxml.py')
-rw-r--r-- | bs4/builder/_lxml.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py index 77660a4..870d59e 100644 --- a/bs4/builder/_lxml.py +++ b/bs4/builder/_lxml.py @@ -72,7 +72,7 @@ class LXMLTreeBuilderForXML(TreeBuilder): self.parser.close() def close(self): - self.namespaces.clear() + self.nsmaps = None def start(self, name, attrs, nsmap={}): nsprefix = None @@ -108,6 +108,8 @@ class LXMLTreeBuilderForXML(TreeBuilder): completed_tag = self.soup.tagStack[-1] self.soup.handle_endtag(name) if self.nsmaps != None: + # This tag, or one of its parents, introduced a namespace + # mapping, so pop it off the stack. self.nsmaps.pop() if len(self.nsmaps) == 0: # Namespaces are no longer in play, so don't bother keeping |