我想通过泽西生成一个xml文件的HTML视图。我该如何执行此任务?

时间:2018-03-23 09:51:25

标签: jersey

我的XML文件出现在" D:..." location我希望通过jersey获得XML文件的HTML视图。我想让我的球衣代码以XML文件的形式从用户那里获取输入并返回它的HTML视图。

提前致谢。

XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<DocumentData>
  <GeneralInformation ExcelNumber="107" ExcelName="Car107" UplodedByUser="Super@12" UserId="637" />
  <row CarName="i10" CarCode="877566" Engine="Diesel" />
  <row CarName="i20" CarCode="877567" Engine="Petrol" />
  <row CarName="Swift Desire" CarCode="877568" Engine="Diesel" />
  <row CarName="Indigo" CarCode="877569" Engine="Petrol" />
</DocumentData>

1 个答案:

答案 0 :(得分:0)

首先,您需要将XML文件读取并解析为Java对象或Map或任何您想要的内容,以便提取如下所示的结构:

String excelNumber = "107";
String excelName = "Car107";
String uplodedByUser = "Super@12";
String userId = "637";

List<String[]> table = new ArrayList<>();
table.add(new String[] {"i10", "877566", "Diesel"});
table.add(new String[] {"i20", "877567", "Petrol"});
table.add(new String[] {"Swift Desire", "877568", "Diesel"});
table.add(new String[] {"Indigo", "877569", "Petrol"});

然后从那里,您可以生成HTML字符串,这是使用上述变量的示例代码:

StringBuilder sb = new StringBuilder();
sb.append("<table border=1>");
sb.append("<tr><td>Name</td><td>Code</td><td>Engine</td></tr>");
for(String[] row : table) {
  sb.append("<tr>");
  sb.append("<td>");
  sb.append(row[0]);
  sb.append("</td>");
  sb.append("<td>");
  sb.append(row[1]);
  sb.append("</td>");
  sb.append("<td>");
  sb.append(row[2]);
  sb.append("</td>");
  sb.append("</tr>");
}

String html = "<html>" +
    "<header><title>Your Page Title Here</title></header>" +
    "<body>" +
    "Excel Number: " + excelNumber + "<br>" +
    "Excel Name: " + excelName + "<br>" +
    "Upbload By: " + uplodedByUser + "<br>" +
    "Excel Number: " + userId + "<br>" +
    sb.toString() + "<br>" +
    "</body>" +
    "</html>";

最后你需要你的终点,使用@Produces(MediaType.TEXT_HTML)注释来表示你正在返回HTML

@GET
@Path("/yourPath")
@Produces(MediaType.TEXT_HTML)
public String xmlData() {
  return your generated HTML;
}

现在,您只需在网络浏览器中调用您的终端

即可
http://url/yourPath

这是我在浏览器中获得的

enter image description here