netrox
@netrox

Как конвертировать XML в объект класса?

Есть таблица в Mysql , в одном из столбцов типа Varchar хранится информация о пользователе в виде XML . Как конвертировать данный XML в обычный объект .
public class Employee 
{
	private int id;

	private String firtsName;

	private String lastName;

	private String email;

	private String address;
	private int positionId;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getFirtsName() {
		return firtsName;
	}
	public void setFirtsName(String _firtsName) {
		this.firtsName = _firtsName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String _lastName) {
		this.lastName = _lastName;
	}
	public String getEmail() {
		return this.email;
	}
	public void setEmail(String info) {
		this.email = info;
	}
	public int getPositionId() {
		return this.positionId;
	}
	public void setPositionId(int positionId) {
		this.positionId = positionId;
	}
	public String getAddress() {
		return this.address;
	}
	public void setAddress(String _address) {
		this.address = _address;
	}
	public String toString()
	{
		return String.format("Id:"+this.id+"First name:"+this.firtsName+"Last name"+this.lastName);
	}
}

<Employee>
      <firstName>Colin</firstName>
      <lastName>Smith</lastName>
      <email>example@mail.com</Email>
      <address>Chicago</Address>
  </Employee>

5ad8db194a09e336050894.png
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Используя Jackson
XmlMapper xmlMapper = new XmlMapper();
SomeClass obj = xmlMapper.readValue(xmlStr, SimpleBean.class);

или используя JAXB
JAXBContext jaxbContext = JAXBContext.newInstance(SomeClass.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
StreamSource source = new StreamSource(new StringReader(xmlStr));
JAXBElement<SomeClass> element = unmarshaller.unmarshal(source, SomeClass.class);
SomeClass someClass = element.getValue();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы