Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将XML响应转换为特定的POJO_Java_Xml_Jackson_Pojo - Fatal编程技术网

Java 将XML响应转换为特定的POJO

Java 将XML响应转换为特定的POJO,java,xml,jackson,pojo,Java,Xml,Jackson,Pojo,下面是我通过API调用得到的XML响应: <userinfo> <LOGINID>CPAUser</LOGINID> <DESCRIPTION>Console Member</DESCRIPTION> <CONTACTINFO.CONTACTNAME>CPAUser</CONTACTINFO.CONTACTNAME> <CONTACTINFO.PREFIX></C

下面是我通过API调用得到的XML响应:

<userinfo>
    <LOGINID>CPAUser</LOGINID>
    <DESCRIPTION>Console Member</DESCRIPTION>
    <CONTACTINFO.CONTACTNAME>CPAUser</CONTACTINFO.CONTACTNAME>
    <CONTACTINFO.PREFIX></CONTACTINFO.PREFIX>
    <CONTACTINFO.FIRSTNAME>External</CONTACTINFO.FIRSTNAME>
    <CONTACTINFO.INITIAL></CONTACTINFO.INITIAL>
    <CONTACTINFO.LASTNAME>User</CONTACTINFO.LASTNAME>
    <CONTACTINFO.COMPANYNAME></CONTACTINFO.COMPANYNAME>
    <CONTACTINFO.PRINTAS>Console Member</CONTACTINFO.PRINTAS>
    <CONTACTINFO.PHONE1></CONTACTINFO.PHONE1>
    <CONTACTINFO.PHONE2></CONTACTINFO.PHONE2>
    <CONTACTINFO.CELLPHONE></CONTACTINFO.CELLPHONE>
    <CONTACTINFO.PAGER></CONTACTINFO.PAGER>
    <CONTACTINFO.FAX></CONTACTINFO.FAX>
    <CONTACTINFO.EMAIL1>noreply@intacct.com</CONTACTINFO.EMAIL1>
    <CONTACTINFO.EMAIL2></CONTACTINFO.EMAIL2>
    <CONTACTINFO.URL1></CONTACTINFO.URL1>
    <CONTACTINFO.URL2></CONTACTINFO.URL2>
    <CONTACTINFO.MAILADDRESS.ADDRESS1></CONTACTINFO.MAILADDRESS.ADDRESS1>
    <CONTACTINFO.MAILADDRESS.ADDRESS2></CONTACTINFO.MAILADDRESS.ADDRESS2>
    <CONTACTINFO.MAILADDRESS.CITY></CONTACTINFO.MAILADDRESS.CITY>
    <CONTACTINFO.MAILADDRESS.STATE></CONTACTINFO.MAILADDRESS.STATE>
    <CONTACTINFO.MAILADDRESS.ZIP></CONTACTINFO.MAILADDRESS.ZIP>
    <CONTACTINFO.MAILADDRESS.COUNTRY>United States</CONTACTINFO.MAILADDRESS.COUNTRY>
    <CONTACTINFO.MAILADDRESS.COUNTRYCODE></CONTACTINFO.MAILADDRESS.COUNTRYCODE>
    <ADMIN>Full</ADMIN>
    <USERTYPE>business user</USERTYPE>
    <VISIBLE>false</VISIBLE>
    <STATUS>active</STATUS>
    <UNRESTRICTED>true</UNRESTRICTED>
    <LOGINDISABLED>false</LOGINDISABLED>
    <PWDNEVEREXPIRES>false</PWDNEVEREXPIRES>
    <RESETPASSWORD>false</RESETPASSWORD>
    <PWDQLYNOTENFORCED>false</PWDQLYNOTENFORCED>
    <WHENCREATED>01/01/1970 00:00:00</WHENCREATED>
    <WHENMODIFIED>08/24/2019 03:01:42</WHENMODIFIED>
    <CREATEDBY></CREATEDBY>
    <MODIFIEDBY></MODIFIEDBY>
    <RECORDNO>3</RECORDNO>
    <CONTACTKEY>3</CONTACTKEY>
    <CHATTER_DISABLED>false</CHATTER_DISABLED>
    <MEGAENTITYKEY></MEGAENTITYKEY>
    <MEGAENTITYID></MEGAENTITYID>
    <MEGAENTITYNAME></MEGAENTITYNAME>
    <SSO_ENABLED>false</SSO_ENABLED>
    <SSO_FEDERATED_ID></SSO_FEDERATED_ID>
    <SSO_COMPANY_ENABLED>Disabled</SSO_COMPANY_ENABLED>
    <MFA_ENABLED>false</MFA_ENABLED>
    <MFA_NOTRUST>none</MFA_NOTRUST>
</userinfo>
您肯定知道,Java中的变量不能像上面所示那样命名,例如
CONTACTINFO.FIRSTNAME
,这将导致语法错误

使用
@JacksonXmlProperty(CONTACTINFO.xxx)
我可以重命名变量。但是,对于格式为
XXX.YYY

有没有一种方法可以将XML转换为POJO,如下所示:

public class Userinfo
{
    public String MFA_ENABLED;
    public String CHATTER_DISABLED;
    ...
    public Contactinfo contactinfo;

    public class Contactinfo {
        public String CONTACTINFO_EMAIL1;
        ...
    }
}
我可以处理变量名,但我需要一种方法来获取上述格式


如果我忽略了什么,请告诉我。我正在使用
XmlMapper
解析XML。

似乎是XAML格式,而不是XML。@微笑我正在尝试转换XML本身。
public class Userinfo
{
    public String MFA_ENABLED;
    public String CHATTER_DISABLED;
    ...
    public Contactinfo contactinfo;

    public class Contactinfo {
        public String CONTACTINFO_EMAIL1;
        ...
    }
}