Hallo ich habe eine XML Datei mit dem Sax Parser eingelesen und zwar so :
Das funktioniert soweit , nun möchte ich allerdings das die geparste Datei wieder zurück nach XML konvertiert wird wie kann man das machen ??
Danke für die Hilfe
Java:
/**
* The function parsed a xml file and saves it into file
*/
public static void parse() throws FileNotFoundException,
IOException, SAXException, XMLStreamException {
//DataStorageAccess dataStorageAccess = DataStorageAccess.getInstance();
FileInputStream in = new FileInputStream(file);
// write parsed XML into File
FileWriter out=new FileWriter("parsed_xml.txt");
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLEventReader parser = factory.createXMLEventReader( in );
StringBuilder spacer = new StringBuilder();
while ( parser.hasNext() )
{
XMLEvent event = parser.nextEvent();
switch ( event.getEventType() )
{
case XMLStreamConstants.START_DOCUMENT:
//System.out.println( "START_DOCUMENT:" );
out.write("START_DOCUMENT:"+"\n");
break;
case XMLStreamConstants.END_DOCUMENT:
//System.out.println( "END_DOCUMENT:" );
out.write("END_DOCUMENT:" +"\n");
parser.close();
break;
case XMLStreamConstants.START_ELEMENT:
StartElement element = event.asStartElement();
spacer.append( " " );
out.write(( spacer.toString()
+ "START_ELEMENT: "
+ element.getName() +"\n"));
for ( Iterator<?> attributes = element.getAttributes();
attributes.hasNext(); )
{
Attribute attribute = (Attribute) attributes.next();
out.write( spacer.toString() + " Attribut: "
+ attribute.getName() + " Wert: "
+ attribute.getValue() +"\n");
}
break;
case XMLStreamConstants.CHARACTERS:
Characters characters = event.asCharacters();
if ( ! characters.isWhiteSpace() )
out.write(spacer.toString()
+ " CHARACTERS: "
+ characters.getData() +"\n");
break;
case XMLStreamConstants.END_ELEMENT:
out.write(spacer.toString()
+ "END_ELEMENT: "
+ event.asEndElement().getName() +"\n");
spacer.delete( (spacer.length() - 2), spacer.length() );
break;
case XMLStreamConstants.ATTRIBUTE:
break;
default :
break;
}
}
}
Das funktioniert soweit , nun möchte ich allerdings das die geparste Datei wieder zurück nach XML konvertiert wird wie kann man das machen ??
Danke für die Hilfe