Read and Write XML file through JAVA

How to read XML file through java and then to edit the data in it?

Solution 1:

Here is the code for writing an xml, its same like writing an file.
Here you need to pass the argument as loction of your xml file to URL object, also path argument for where you need to write the xml and bufferlength as 1024.

FileOutputStream fout=null;
InputStream stream=null;
try{
URL u = new URL(URL);
String fname = u.getFile();
fname = fname.substring(fname.lastIndexOf('/') + 1);
String fileName2=path+"/"+fname;
URLConnection uc = u.openConnection();
String ct = uc.getContentType();
int contentLength = uc.getContentLength();
stream = uc.getInputStream();
byte[] buffer = new byte[contentLength+bufferLength];
int bytesread = 0;
int offset = 0;
while (bytesread >= 0) {
bytesread = stream.read(buffer, offset, bufferLength);
if (bytesread == -1)
break;
offset += bytesread;
}
File f2 = new File(fileName2);
fout = new FileOutputStream(f2);
fout.write(buffer);
}

Solution 2:

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;

/** Make up and write an XML document, using DOM
 * UPDATED FOR JAXP.
 * @author Ian Darwin
 * @version $Id: DocWriteDOM.java,v 1.6 2004/03/01 03:42:57 ian Exp $
 */
public class DocWriteDOM {

  public static void main(String[] av) throws IOException {
    DocWriteDOM dw = new DocWriteDOM();
    Document doc = dw.makeDoc();

    // Sadly, the write() method is not in the DOM spec, so we
    // have to cast the Document to its implementing class
    // in order to call the Write method.
    //
    // WARNING
    //
    // This code therefore depends upon the particular
    // parser implementation.
    //
    ((org.apache.crimson.tree.XmlDocument)doc).write(System.out);
  }

  /** Generate the XML document */
  protected Document makeDoc() {
    try {
      DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
      DocumentBuilder parser = fact.newDocumentBuilder();
      Document doc = parser.newDocument();

      Node root = doc.createElement("Poem");
      doc.appendChild(root);

      Node stanza = doc.createElement("Stanza");
      root.appendChild(stanza);
     
      Node line = doc.createElement("Line");
      stanza.appendChild(line);
      line.appendChild(doc.createTextNode("Once, upon a midnight dreary"));
      line = doc.createElement("Line");
      stanza.appendChild(line);
      line.appendChild(doc.createTextNode("While I pondered, weak and weary"));

      return doc;

    } catch (Exception ex) {
      System.err.println("+============================+");
      System.err.println("|        XML Error           |");
      System.err.println("+============================+");
      System.err.println(ex.getClass());
      System.err.println(ex.getMessage());
      System.err.println("+============================+");
      return null;
    }
  }
}
// demo xml file
/*
<?xml version="1.0"?>
<people>
<person>
  <name>Ian Darwin</name>
  <email>darwin@internet.com/</email>
  <country>Canada</country>
</person>
<person>
  <name>Another Darwin</name>
  <email type="intranet">afd@node1</email>
  <country>Canada</country>
</person>
</people>
*/

Do you have a Java Problem?
Ask It in The Java Forum

Java Books
Java Certification, Programming, JavaBean and Object Oriented Reference Books

Return to : Java Programming Hints and Tips

All the site contents are Copyright © www.erpgreat.com and the content authors. All rights reserved.
All product names are trademarks of their respective companies.
The site www.erpgreat.com is not affiliated with or endorsed by any company listed at this site.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
 The content on this site may not be reproduced or redistributed without the express written permission of
www.erpgreat.com or the content authors.