java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Java - Programmierung > XML und Co.

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 02.07.2009, 11:08   #1 (permalink)
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
Alt 02.07.2009, 20:36   #2 (permalink)
Stammbenutzer
Megabyte
 
Registriert seit: 14.04.2006
Beiträge: 1.224
Abgegebene Danke: 2
Erhielt 15 Danke für 15 Beiträge
das was du nimmst ist StAX und nicht SAX, aber schau dir mal die Klasse XMLEventWriter an
raiL 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
Alt 03.07.2009, 10:00   #3 (permalink)
Neuer Benutzer
Byte
Themenstarter
 
Registriert seit: 24.06.2009
Beiträge: 17
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Ja stimmt hast recht ich nutze Stax, den EventWriter hab ich mir schon angesehn allerdings schreibt er mir die übergebenen strings ja nur als XML aus das ist schonmal ganz gut aber ich habe vor dem EventWriter meine geparste xml datei einlesen zu lassen und er soll voll automatisch die strings die um geparsten dokument enthalten sind als xml format wieder auszugeben gibts da eine Möglichkeit für ich möchte mit dem Eventwriter nicht selbst strings hinzugeben.
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
Alt 07.07.2009, 18:34   #4 (permalink)
Stammbenutzer
Megabyte
 
Registriert seit: 14.04.2006
Beiträge: 1.224
Abgegebene Danke: 2
Erhielt 15 Danke für 15 Beiträge
wenn die xml dateien nicht besonders groß sind (kleiner als ca 50-100MB) würde ich dir ein XML Binding Framework empfehlen. Da arbeitest du nur nix mehr selber parsen und kannst es gleich auch wieder abspeichern.

z.B. JAXB oder EMF
raiL 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
Antwort    

Lesezeichen

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bestimmte Whitespaces entfernen - nicht validierender Sax parser BlubBlub XML und Co. 0 26.05.2009 11:01
SAX Parser und die Verzweifelung maybedoo XML und Co. 1 12.11.2007 16:52
SAX: Parser Reihenfolge XML und Co. 1 17.04.2007 16:35
SAX Parser Properties & Features testit1234 XML und Co. 0 30.05.2006 10:12
SAX Parser Stormer XML und Co. 1 08.10.2004 21:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:26 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de