diff --git a/src/caoscrawler/xml_converter.py b/src/caoscrawler/xml_converter.py index 75116ef0c06a275490a46166356842ae2f96fc8f..b01d92e7dca19ed7a82e024be17cbd572f7c1c13 100644 --- a/src/caoscrawler/xml_converter.py +++ b/src/caoscrawler/xml_converter.py @@ -75,7 +75,15 @@ class XMLTagConverter(Converter): if not isinstance(element, XMLTagElement): raise TypeError("Element must be an instance of XMLTagElement.") - nsmap = self.definition["nsmap"] + # Get the namespace map from the element: + nsmap = element.tag.nsmap + # The default name of the default namespace is "default". + # You can overwrite it using the attribute "default_namespace" in the converter definition: + default_namespace = self.definition.get("default_namespace", "default") + if None in nsmap: + nsmap[default_namespace] = nsmap[None] + del nsmap[None] + xpath = self.definition.get("xpath", "child::*") children = element.tag.xpath(xpath, namespaces=nsmap) el_lst = []