1.XML
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<salaries>
<salary>
<year>2019</year>
<month>10</month>
<number>admin</number>
<GZT001>1000</GZT001>
<GZT002>10</GZT002>
<GZT003>20</GZT003>
<GZT004>30</GZT004>
<GZT005>40</GZT005>
<GZT006>50</GZT006>
<GZT007>60</GZT007>
</salary>
</salaries>
2.解析代码
public class SalaryInfo
{
private String year;
private String month;
private String userNumber;
private Map<String, String> shrMap = Maps.newHashMap();
public String getYear()
{
return year;
}
public void setYear(String year)
{
this.year = year;
}
public String getMonth()
{
return month;
}
public void setMonth(String month)
{
this.month = month;
}
public String getUserNumber()
{
return userNumber;
}
public void setUserNumber(String userNumber)
{
this.userNumber = userNumber;
}
public Integer getYearMonth()
{
return NumberUtils.parseInt(year) * 100 + NumberUtils.parseInt(month);
}
@SuppressWarnings ("unchecked")
public static List<SalaryInfo> parse(String xml) throws ParameterParseException
{
if (StringUtils.isBlank(xml))
throw new ParameterParseException("参数为空。");
try
{
Element root = DocumentHelper.parseText(xml).getRootElement();
if (root == null)
return Collections.emptyList();
List<SalaryInfo> salaryInfoList = new ArrayList<SalaryInfo>();
Iterator<Element> iterator = root.elementIterator("salary");
while (iterator.hasNext())
{
Element salaryElement = iterator.next();
List<Element> elements = salaryElement.elements();
SalaryInfo salaryInfo = new SalaryInfo();
salaryInfo.setYear(salaryElement.elementTextTrim("year"));
salaryInfo.setMonth(salaryElement.elementTextTrim("month"));
salaryInfo.setUserNumber(salaryElement.elementTextTrim("number"));
for (Element element : elements)
{
if (StringUtils.equals(element.getName(), "year") || StringUtils.equals(element.getName(), "month")
|| StringUtils.equals(element.getName(), "number"))
continue;
salaryInfo.shrMap.put(element.getName(), element.getTextTrim());
}
salaryInfoList.add(salaryInfo);
}
return salaryInfoList;
}
catch (Exception e)
{
throw new ParameterParseException(null, "解析 XML 出错", e);
}
}
}