|
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.sap-img.com
and the content authors. All rights reserved.
All product names are trademarks of their respective
companies.
The site www.sap-img.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.sap-img.com or the content authors.
|