1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String localite = request.getParameter("localite").toString();
ResultAddress[] results = null;
try {
results = client.findAddressByText(localite, null, null, null, null).getResultList();
} catch (XServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XLocateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Création d'un xml de résultats pour la recherche
try
{
DocumentBuilderFactory builderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
//creating a new instance of a DOM to build a DOM tree.
Document doc = docBuilder.newDocument();
//This method creates an element node
Element root = doc.createElement("TownSearch");
//adding a node after the last child node of the specified node.
doc.appendChild(root);
Element child = doc.createElement("InputSearch");
root.appendChild(child);
Text text = doc.createTextNode(localite);
child.appendChild(text);
// les résultats de xLocate
Element childRes = doc.createElement("TownsList");
root.appendChild(childRes);
for (int i = 0; i < results.length; i++) {
Element childTown = doc.createElement("Town");
childTown.setAttribute("country", results[i].getCountry());
childTown.setAttribute("countryCapital",results[i].getCountryCapital());
childTown.setAttribute("name", results[i].getCity());
childTown.setAttribute("cp", results[i].getPostCode());
childTown.setAttribute("street", results[i].getStreet());
childTown.setAttribute("x",String.valueOf(results[i].getCoordinates().getPoint().getX()));
childTown.setAttribute("y",String.valueOf(results[i].getCoordinates().getPoint().getY()));
childTown.setAttribute("state",results[i].getState());
childTown.setAttribute("totalScore", Integer.toString(results[i].getTotalScore()));
childRes.appendChild(childTown);
}
//TransformerFactory instance is used to create Transformer objects.
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = sw.toString();
File file = new File("c:/newxml.xml");
BufferedWriter bw = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(xmlString);
bw.flush();
bw.close();
out.println("<b>Xml File Created Successfully</b>");
}
catch(Exception e)
{
System.out.println(e);
}
} |
Partager