diff --git a/tests/formats/dataclass/parsers/nodes/test_element.py b/tests/formats/dataclass/parsers/nodes/test_element.py index 1d9bcfcd..8ef4fd99 100644 --- a/tests/formats/dataclass/parsers/nodes/test_element.py +++ b/tests/formats/dataclass/parsers/nodes/test_element.py @@ -172,10 +172,10 @@ def test_bind_wild_text(self) -> None: self.assertEqual({"wildcard": ["txt"]}, params) self.node.bind_wild_text(params, var, None, "tail") - self.assertEqual({"wildcard": [None, "txt"]}, params) + self.assertEqual({"wildcard": ["txt"]}, params) self.node.bind_wild_text(params, var, "first", None) - self.assertEqual({"wildcard": ["first", None, "txt"]}, params) + self.assertEqual({"wildcard": ["first", "txt"]}, params) def test_bind_attrs(self) -> None: self.node.meta = self.context.build(AttrsType) diff --git a/xsdata/formats/dataclass/parsers/nodes/element.py b/xsdata/formats/dataclass/parsers/nodes/element.py index bf62a22f..0e875203 100644 --- a/xsdata/formats/dataclass/parsers/nodes/element.py +++ b/xsdata/formats/dataclass/parsers/nodes/element.py @@ -448,6 +448,9 @@ def bind_wild_text( return False if var.list_element: + if text is None: + return False + items = params.get(var.name) if items is None: params[var.name] = items = PendingCollection(None, var.factory)