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.
|