Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I have a scenario like below
Source - Not sure about columns/structure. one day source file come with 100 fields, next day it can be 110, another day 90. Source file with delimiter.
Target - We want to convert it into xml file.
Please provide any solutions.
Thanks
Jay
// Create a rowcount variable to keep track of where we are
int rowcount = 0;
//Create a hashmap to keep the first row values (for column names) assigned to
//an integer to represent their column number
java.util.HashMap<Integer, String> columnHeader = new java.util.HashMap<Integer, String>();
//Create the opening XML element.
String XML = "<myXML>";
//For row 0 create the header information
if(rowcount==0){
columnHeader.put(1,row1.newColumn);
columnHeader.put(2,row1.newColumn1);
columnHeader.put(3,row1.newColumn2);
columnHeader.put(4,row1.newColumn3);
columnHeader.put(5,row1.newColumn4);
columnHeader.put(6,row1.newColumn5);
columnHeader.put(7,row1.newColumn6);
columnHeader.put(8,row1.newColumn7);
columnHeader.put(9,row1.newColumn8);
}else{ //for every other row, check to see if the header is not null and then
//build an element for it if it is not empty.
XML = XML+"<loop>\n";
if(columnHeader.get(1)!=null){
XML = XML+"<"+columnHeader.get(1)+">"+row1.newColumn+"</"+columnHeader.get(1)+">\n";
}
if(columnHeader.get(2)!=null){
XML = XML+"<"+columnHeader.get(2)+">"+row1.newColumn1+"</"+columnHeader.get(2)+">\n";
}
if(columnHeader.get(3)!=null){
XML = XML+"<"+columnHeader.get(3)+">"+row1.newColumn2+"</"+columnHeader.get(3)+">\n";
}
if(columnHeader.get(4)!=null){
XML = XML+"<"+columnHeader.get(4)+">"+row1.newColumn3+"</"+columnHeader.get(4)+">\n";
}
if(columnHeader.get(5)!=null){
XML = XML+"<"+columnHeader.get(5)+">"+row1.newColumn4+"</"+columnHeader.get(5)+">\n";
}
if(columnHeader.get(6)!=null){
XML = XML+"<"+columnHeader.get(6)+">"+row1.newColumn5+"</"+columnHeader.get(6)+">\n";
}
if(columnHeader.get(7)!=null){
XML = XML+"<"+columnHeader.get(7)+">"+row1.newColumn6+"</"+columnHeader.get(7)+">\n";
}
if(columnHeader.get(8)!=null){
XML = XML+"<"+columnHeader.get(8)+">"+row1.newColumn7+"</"+columnHeader.get(8)+">\n";
}
if(columnHeader.get(9)!=null){
XML = XML+"<"+columnHeader.get(9)+">"+row1.newColumn8+"</"+columnHeader.get(9)+">\n";
}
XML = XML+"</loop>\n";
}
//append 1 to the rowcount
rowcount++;
// close the XML opening tag
XML = XML + "</myXML>";
System.out.println(XML);