낭중에 아래의 형태로 추가를 해야겠습니다.
for(int i=0; i < list.size(); i++) {
System.out.println(list.get(i).getService() +” – “+ list.get(i).getKey()+” – “+ list.get(i).getValues().toString());
}
String fileName = “config-test.xml”;
String empty =” “;
try {
XMLOutputFactory xmlFactory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = xmlFactory.createXMLStreamWriter(new java.io.FileWriter(fileName));
writer.writeStartDocument(“1.0”);
writer.writeCharacters(System.getProperty(“line.separator”));
writer.writeStartElement(“sjava-config”);
writer.writeCharacters(System.getProperty(“line.separator”));
String serviceName = list.get(0).getService();
ArrayList<String> serviceList = new ArrayList<String>();
serviceList.add(serviceName);
for(int i=0; i < list.size(); i++) {
if(!serviceName.equals(list.get(i).getService()) ) {
serviceName = list.get(i).getService();
serviceList.add(serviceName);
}
}
for(int i=0; i < serviceList.size(); i++) {
writer.writeCharacters(empty);
writer.writeStartElement(“sjava-service”);
writer.writeAttribute(“name”, serviceList.get(i));
writer.writeCharacters(System.getProperty(“line.separator”));
for(int j=0; j < list.size(); j++) {
if(serviceList.get(i).equals(list.get(j).getService()) ) {
serviceName = list.get(j).getService();
writer.writeCharacters(empty + empty);
writer.writeStartElement(“key”);
writer.writeAttribute(“name”, list.get(j).getKey());
String tmpValue = “”;
for(int z =0; z < list.get(j).getValues().length; z++) {
tmpValue += list.get(j).getValues()[z];
if(z != list.get(j).getValues().length-1)
tmpValue +=”,”;
}
writer.writeAttribute(“value”, tmpValue);
writer.writeEndElement();
writer.writeCharacters(System.getProperty(“line.separator”));
}
}
writer.writeCharacters(empty);
writer.writeEndElement();
writer.writeCharacters(System.getProperty(“line.separator”));
}
writer.writeEndElement();
writer.flush();
writer.close();
} catch(Exception e) {
e.printStackTrace();
}
return true;
}
위 코드로 아래의 결과를 만들어 낼 수 있다.
<sjava-config>
<sjava-service name=”sjava-config”>
<key name=”watch” value=”false”></key>
<key name=”period” value=”60″></key>
</sjava-service>
<sjava-service name=”sjava-logging-server”>
<key name=”host” value=”111.111.111.111,222.222.222.222″></key>
<key name=”port” value=”20003″></key>
</sjava-service>
</sjava-config>