Text#

Primitive types#

A field of a primitive type is bound to the local element text.

Model
class Company(BaseXmlModel):
    description: constr(strip_whitespace=True)
Document
<Company>
    Space Exploration Technologies Corp.
</Company>
{
    "description": "Space Exploration Technologies Corp."
}

Note: the empty element text is deserialized as None not as an empty string:

Model
class Company(BaseXmlModel):
    description: Optional[str] = None
Document
<Company></Company>
{
    "description": null
}

To have an empty string instead add "" as a default value:

class Company(BaseXmlModel):
    description: str = ""