def __from_xml(self,value):
n=value.children<EOL>vns=get_node_ns(value)<EOL>while n:<EOL><INDENT>if n.type!='<STR_LIT>':<EOL><INDENT>n=n.next<EOL>continue<EOL><DEDENT>ns=get_node_ns(n)<EOL>if (ns and vns and ns.getContent()!=vns.getContent()):<EOL><INDENT>n=n.next<EOL>continue<EOL><DEDENT>if n.name=='<STR_LIT>':<EOL><INDENT>self.pobox=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name in ('<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>self.extadr=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name=='<STR_LIT>':<EOL><INDENT>self.street=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name=='<STR_LIT>':<EOL><INDENT>self.locality=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name=='<STR_LIT>':<EOL><INDENT>self.region=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name=='<STR_LIT>':<EOL><INDENT>self.pcode=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name=='<STR_LIT>':<EOL><INDENT>self.ctry=unicode(n.getContent(),"<STR_LIT:utf-8>","<STR_LIT:replace>")<EOL><DEDENT>elif n.name in ("<STR_LIT>","<STR_LIT>","<STR_LIT>","<STR_LIT>","<STR_LIT>","<STR_LIT>",<EOL>"<STR_LIT>"):<EOL><INDENT>self.type.append(n.name.lower())<EOL><DEDENT>n=n.next<EOL><DEDENT>if self.type==[]:<EOL><INDENT>self.type=["<STR_LIT>","<STR_LIT>","<STR_LIT>","<STR_LIT>"]<EOL><DEDENT>elif "<STR_LIT>" in self.type and "<STR_LIT>" in self.type:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>
Initialize a `VCardAdr` object from and XML element.

        :Parameters:
            - `value`: field value as an XML node
        :Types:
            - `value`: `libxml2.xmlNode`