@classmethod<EOL><INDENT>def _new_from_xml(cls, xmlnode):<DEDENT>
label = from_utf8(xmlnode.prop("<STR_LIT:label>"))<EOL>child = xmlnode.children<EOL>value = None<EOL>for child in xml_element_ns_iter(xmlnode.children, DATAFORM_NS):<EOL><INDENT>if child.name == "<STR_LIT:value>":<EOL><INDENT>value = from_utf8(child.getContent())<EOL>break<EOL><DEDENT><DEDENT>if value is None:<EOL><INDENT>raise BadRequestProtocolError("<STR_LIT>")<EOL><DEDENT>return cls(value, label)<EOL>
Create a new `Option` object from an XML element.

        :Parameters:
            - `xmlnode`: the XML element.
        :Types:
            - `xmlnode`: `libxml2.xmlNode`

        :return: the object created.
        :returntype: `Option`