Thanks both of you for your valuable suggestion
I now understood the concept there should be only one root.
I changed the below lines and can get the output now as I expect
But i have one more thing to do.
I need to pass the line by line value of the textfile(stored in line of my writeRecord()) to be passed to after "record:id:"
How can i do that.
// identifier.appendChild(doc.createTextNode("record:id:"));
Please advise.
Below is my recent prgram
import java.io.*;
import java.util.Calendar;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class DeleteXml
{
public static void main(
String[] args) throws Exception {
try{
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
Document
doc = docBuilder.newDocument();
doc.setXmlStandalone(true);
Element Identifier=doc.createElement("Identifiers");
doc.appendChild(Identifier);
FileInputStream fis = new FileInputStream("D:\\Output\\del\\ids.txt");
DataInputStream in = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
writeRecord(doc,Identifier,strLine);
System.out.println(strLine);
}
}
catch(ParserConfigurationException pce)
{
pce.printStackTrace();
}
/*catch(TransformerException tfe)
{
tfe.printStackTrace();
}*/
}
public static void writeRecord(Document doc,Element ele,String line)
{
Element rootElement=doc.createElement("record");
ele.appendChild(rootElement);
Element header =doc.createElement("header");
rootElement.appendChild(header);
header.setAttribute("teststatus","active");
Element identifier = doc.createElement("identifier");
identifier.appendChild(doc.createTextNode("record:id:"));
Element datestamp = doc.createElement("Datestamp");
header.appendChild(identifier);
header.appendChild(datestamp);
try {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("D:\\testing.xml"));
// transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(source, result);
} catch (Exception e) {
// TODO: handle exception
}
}
}