Мы выбираем данные из базы данных MySQL с помощью сервлета. Мы хотим получить эти данные в формате XML.
Мы уже успешно получили html-страницу, но проблема в том, что мы получаем значения всех столбцов, но только из первой строки таблицы.
Как извлечь все строки из таблицы?
Вот наш текущий код:
while(rs.next())
{
Element root = doc.createElement("BSE");
System.out.println(doc.appendChild(root));
Element child = doc.createElement("Market_Watch");
root.appendChild(child);
Element child1 = doc.createElement("Stock_Code");
child.appendChild(child1);
Text text1 = doc.createTextNode(rs.getString("Stock_Code"));
child1.appendChild(text1);
Element child2 = doc.createElement("Stock_Name");
child.appendChild(child2);
Text text2 = doc.createTextNode(rs.getString("Stock_Name"));
child2.appendChild(text2);
Element child3 = doc.createElement("Open_Rate");
child.appendChild(child3);
Text text3 = doc.createTextNode(rs.getString("Open_Rate"));
child3.appendChild(text3);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
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:/newxm94.xml");
BufferedWriter bw = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(xmlString);
bw.flush();
bw.close();
}