我想创建由同样喜欢从数据库这样获取数据后,下面给出一个XML文件:我用的Java servlet是在XML文件创建新手任何帮助,将不胜感激。如何从mysql数据库获取数据后创建XML文件?
,我想通过一个servlet来创建我的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<expanded>true</expanded>
<children>
<element>
<text>Setup</text>
<leaf>false</leaf>
<iconCls>x-fa fa-gears</iconCls>
<cls>mainNav</cls>
<children>
<element>
<leaf>false</leaf>
<text>Academics</text>
<iconCls>x-fa fa-graduation-cap</iconCls>
<cls>mainNav</cls>
<children>
<element>
<leaf>true</leaf>
<text>Session</text>
<iconCls>x-fa fa-star</iconCls>
<cls>PIU.view.setup.academics.AcademicSession</cls>
</element>
<element>
<leaf>true</leaf>
<text>Faculty</text>
<iconCls>x-fa fa-star-o</iconCls>
<cls>PIU.view.setup.academics.AcademicFaculty</cls>
</element>
<element>
<leaf>true</leaf>
<text>Shifts</text>
<iconCls>x-fa fa-star-o</iconCls>
<cls>PIU.view.setup.academics.MaintainShifts</cls>
</element>
</children>
</element>
<element>
<leaf>false</leaf>
<text>Institution</text>
<iconCls>x-fa fa-university</iconCls>
<cls>mainNav</cls>
<children>
<element>
<leaf>true</leaf>
<text>Institution</text>
<iconCls>x-fa fa-globe</iconCls>
<cls>PIU.view.setup.institution.DefineInstitution</cls>
</element>
<element>
<leaf>true</leaf>
<text>Facilities</text>
<iconCls>x-fa fa-building</iconCls>
<cls>PIU.view.setup.institution.MaintainFacilities</cls>
</element>
<element>
<leaf>true</leaf>
<text>Letter Head</text>
<iconCls>x-fa fa-info</iconCls>
</element>
</children>
</element>
</children>
</element>
</children>
</root>
到目前为止,我已经试过这无法产生我想要的结果,请大家帮我出:
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/xml");
String reportName = "GenerateXML_Report_"
+System.currentTimeMillis()+".xml";
response.setHeader("Content-disposition", "attachment; " +
"filename=" + reportName);
try{
Datasource ds=new Datasource();
ds.connect();
java.sql.Statement s=ds.createStatement();
ResultSet rs = s.executeQuery("Select label,action,icon_cls,leaf from common_features where is_visible=1");
ArrayList<String> rows = new ArrayList<String>();
rows.add("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
rows.add("<root>");
rows.add("<expanded>true</expanded>");
rows.add("<children>");
while(rs.next())
{
rows.add("<element>");
rows.add("<leaf>");
rows.add(rs.getString(4));
rows.add("</leaf>");
rows.add("<text>");
rows.add(rs.getString(1));
rows.add("</text>");
rows.add("<iconCls>");
rows.add(rs.getString(3));
rows.add("</iconCls>");
rows.add("<cls>");
rows.add(rs.getString(2));
rows.add("</cls>");
rows.add("</element>");
}
rows.add("</children>");
rows.add("</root>");
Iterator<String> iter = rows.iterator();
while (iter.hasNext()){
String outputString = (String) iter.next();
response.getOutputStream().print(outputString);
}
ds.dropConnection();
} catch (Exception ex) {
ex.printStackTrace();
}
//out.println(jobject);
response.getOutputStream().flush();
}
当前我生成的xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<expanded>true</expanded>
<children>
<element>
<leaf>true</leaf>
<text>Institution</text>
<iconCls>x-fa fa-globe</iconCls>
<cls>PIU.view.setup.institution.DefineInstitution</cls>
</element>
<element>
<leaf>true</leaf>
<text>Facilities</text>
<iconCls>x-fa fa-building</iconCls>
<cls>PIU.view.setup.institution.MaintainFacilities</cls>
</element>
<element>
<leaf>true</leaf>
<text>Session</text>
<iconCls>x-fa fa-star</iconCls>
<cls>PIU.view.setup.academics.AcademicSession</cls>
</element>
<element>
<leaf>true</leaf>
<text>Faculty</text>
<iconCls>x-fa fa-star-o</iconCls>
<cls>PIU.view.setup.academics.AcademicFaculty</cls>
</element>
<element>
<leaf>true</leaf>
<text>Shifts</text>
<iconCls>x-fa fa-star-o</iconCls>
<cls>PIU.view.setup.academics.MaintainShifts</cls>
</element>
<element>
<leaf>false</leaf>
<text>Setup</text>
<iconCls>x-fa fa-gears</iconCls>
<cls>mainNav</cls>
</element>
<element>
<leaf>false</leaf>
<text>Academics</text>
<iconCls>x-fa fa-graduation-cap</iconCls>
<cls>mainNav</cls>
</element>
<element>
<leaf>false</leaf>
<text>Institution</text>
<iconCls>x-fa fa-university</iconCls>
<cls>mainNav</cls>
</element>
</children>
</root>
现在你叫什么结果呢?也许我可以看到问题来源。但为什么你要在循环之前添加标签?结果为第一行“”。 –
fairtrax
你应该使用一个库,像:https://stackoverflow.com/a/5059411/3959856 –
对不起它我的错误我删除@fairtrax其被错误在该代码添加的元素部分 –