Hallo ich habe eine
XML Datei mit dem Sax Parser eingelesen und zwar so :
Java Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| /**
* 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