Skip to content

Error parsing when fields unordered #281

@KristinaErdman

Description

@KristinaErdman

Code:

from typing import Optional
from pydantic_xml import element, BaseXmlModel
from lxml.etree import XML, Element


class Contact(BaseXmlModel, tag="Contact"):
    Id: Optional[str] = element(default=None, max_length=15)
    IsActive: bool = element()


contact_data_1 = """<Contact>
                <Id>12786799082</Id>
                <IsActive>true</IsActive>
            </Contact>"""

contact_data_2 = """<Contact>
                <IsActive>true</IsActive>
                <Id>12786799082</Id>
            </Contact>"""

for raw_xml in (contact_data_1, contact_data_2):
    contact_element: Element = XML(raw_xml)
    contact = Contact.from_xml_tree(contact_element)

    print(contact)

Output:

Id='12786799082' IsActive=True
Id=None IsActive=True

I'm use pydantic-xml[lxml]

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions