Thema: Sax Parser
Einzelnen Beitrag anzeigen
Alt 02.07.2009, 11:08   #1 (permalink)
Stephan2009
Neuer Benutzer
Byte
 
Registriert seit: 24.06.2009
Beiträge: 17
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Sax Parser

Hallo ich habe eine XML Datei mit dem Sax Parser eingelesen und zwar so :

Java Code: Quelltext in neuem Fenster öffnen
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
Stephan2009 ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten