Я решил дать Джексону XML шанс в моем проекте для преобразования строк XML в POJO.
Поэтому я использовал следующий отличный веб-сайт для создания pojo из моей строки xml.
Итак, он создал нужные мне классы, а затем я попытался прочитать значения xml в эти объекты.
К сожалению, некоторые значения были установлены как нулевые в объектах, и я не могу понять, почему:
Это начало строки xml:
<?xml version="1.0" encoding="UTF-8"?>
<schedule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" generated_at="2018-02-23T16:55:45+00:00" xmlns="http://schemas.thesite.com/jobsapi/v1/myjob" xsi:schemaLocation="http://schemas.thesite.com/jobsapi/v1/myjob http://schemas.thesite.com/asb/myjob/v1/xml/endpoints/myjob/schedule.xsd">
<job_event id="sr:task:12004724" scheduled="2018-02-23T17:00:00+00:00" start_time_tbd="false" status="not_started">
<task type="group" number="23"/>
И классы у меня есть:
public class Schedule
{
private String generated_at;
private String xmlns;
private Job_event[] job_events;
public String getGenerated_at ()
{
return generated_at;
}
public void setGenerated_at (String generated_at)
{
this.generated_at = generated_at;
}
public String getXmlns ()
{
return xmlns;
}
public void setXmlns (String xmlns)
{
this.xmlns = xmlns;
}
public Job_event[] getjob_events ()
{
return job_events;
}
public void setjob_events (Job_event[] job_events)
{
this.job_events = job_events;
}
@Override
public String toString()
{
return "Schedule [generated_at = "+generated_at+", xmlns = "+xmlns+", job_events = "+job_events+"]";
}
}
А также
public class Job_event {
private String id;
private String scheduled;
private String start_time_tbd;
private String status;
//more fields, getters and setters
}
Затем я использую это для преобразования строки в pojos:
ObjectMapper xmlMapper = new XmlMapper();
xmlMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Schedule sched = xmlMapper.readValue(xmlString, Schedule.class);
Job_event[] job_events = sched.getJob_events();
И там я нахожу в каждом значении события в job_events, что значения членов, такие как id и статус, а остальные равны нулю.
Почему это? Строка xml в порядке.
Благодарю вас!