Der folgende Code kann verwendet werden um mit der Xerces Library eine XML-Datei zu speichern:
XMLWriter.java
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
public class XMLWriter
{
public static void saveToXMLFile
(final String sFilename,
final Document d
)
{
try
{
final OutputFormat of = new OutputFormat ();
of.setPreserveSpace (false);
of.setLineWidth (0);
of.setIndent (2);
final XMLSerializer xs = new XMLSerializer (os, of);
xs.asDOMSerializer ().serialize (d);
os.close ();
}
{
e.printStackTrace ();
}
{
e.printStackTrace ();
}
}
}
Die folgende Klasse kann verwendet werden, um eine XML-Datei entweder mit SAX oder DOM zu lesen:
XMLReader.java
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class XMLReader
{
private static DocumentBuilder builder = null;
static
{
final DocumentBuilderFactory documentbuilderfactory = DocumentBuilderFactory.newInstance ();
try
{
builder = documentbuilderfactory.newDocumentBuilder ();
}
catch (final ParserConfigurationException e)
{
e.printStackTrace ();
}
}
{
try
{
d = builder.parse (is);
}
catch (final SAXException e)
{
e.printStackTrace ();
}
{
e.printStackTrace ();
}
return d;
}
public static void readXMLFileSAX
(final InputStream">
InputStream">
InputStream is,
final DefaultHandler hdl
)
{
try
{
final SAXParserFactory factory = SAXParserFactory.newInstance ();
final SAXParser saxParser = factory.newSAXParser ();
saxParser.parse (is, hdl);
}
{
t.printStackTrace ();
}
}
}