summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Elizondo <jue@adhoc.com.ar>2025-01-09 12:25:25 +0000
committerJulia Elizondo <jue@adhoc.com.ar>2025-02-07 06:29:46 +0000
commit81c9b12967286bb689bde3d238229e8bf1aef80b (patch)
tree20e5a6310624fe71c3812636f263a2859cceddfb
parente829bfd2ad1b791b56424b299bce0646e6831bdb (diff)
[FIX] odoo/tools: error processing Factur-X XML
closes odoo/odoo#196599 X-original-commit: cfe602426aac9ddb446de1e265062cd8d0c990bc Related: odoo/enterprise#78598 Signed-off-by: Laurent Smet (las) <las@odoo.com>
-rw-r--r--odoo/tools/xml_utils.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/odoo/tools/xml_utils.py b/odoo/tools/xml_utils.py
index c2510565241..239da0cb951 100644
--- a/odoo/tools/xml_utils.py
+++ b/odoo/tools/xml_utils.py
@@ -171,7 +171,8 @@ def cleanup_xml_node(xml_node_or_string, remove_blank_text=True, remove_blank_no
if isinstance(xml_node, str):
xml_node = xml_node.encode() # misnomer: fromstring actually reads bytes
if isinstance(xml_node, bytes):
- xml_node = etree.fromstring(remove_control_characters(xml_node))
+ parser = etree.XMLParser(recover=True, resolve_entities=False)
+ xml_node = etree.fromstring(remove_control_characters(xml_node), parser=parser)
# Process leaf nodes iteratively
# Depth-first, so any inner node may become a leaf too (if children are removed)