[Java] SVG File in XML parsen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Smokers, 30. April 2011 .

Schlagworte:
  1. 30. April 2011
    SVG File in XML parsen

    Also ich soll in unserer Ufgabenstellung eine SVG Datei einlesen, und diese dann in SVG parsen.
    Dabei soll ich das Batik Framework bzw die ExtensibleDOMImplementation nutzen.

    Ehrlich gesagt fehlt mir da jedoch jeglicher Zugang zu dem Kram -.-
    Ich verstehs eifnach nicht bzw ich hab keine Ahnung wie ich rangehen soll.

    Ich soll dann im Endeffekt einzelne Objekte aus dieser DOM Struktur durchgehen und diese Zählen und gegebenenfalls später auch bearbeiten.


    Nur hab ich kein Plan wie ich mit dem DOModell umgehen soll, bzw wie ich auch noch das ExtensibleDOMImplementation nutze


    Gehen wir mal davon aus ich hab das hier :
    Code:
    private void readSVG(){
     
     try {
     InputStream istream = new java.io.FileInputStream("d:\\room1.svg");
     ExtensibleDOMImplementation impl = new SVGDOMImplementation();
     
     
     
     } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     }
     }
    
    Das einzige wie ich jetzt vllt mein File Objekt in den DOM Parser da bekomme ist mit
    impl.createDocument(...); `?

    Ich hab eine Ahnung wie ch da vorgehen muss. Oder muss ich mein FileObjekt erst in eine andere Klasse überführen?!


    Ich hoffe jemand von euch versteht das ein wenig und kann mir vllt sogar helfen ^^°

    lg und danke schonmal



    siehe unten =)
     
  2. 30. April 2011
    AW: SVG File in XML parsen

    Ich gehe jetzt mal davon aus, du nutzt Apache Batik. In dem Fall kannst du höchstwahrscheinlich (kann momentan nicht testen) DocumentFactory#createDocument bzw. für SVG die Subklasse SVGDocumentFactory nutzen. Das zurückgegeben Document-Objekt bietet dann weitere Methoden zur Bearbeitung der SVG-XML-Elemente.


    DocumentFactory (Apache Batik Javadoc)

    W3C DOM Level 2 version 1.0 - Java API: Interface
    Document
     
  3. 2. Mai 2011
    AW: SVG File in XML parsen

    ich dank dir erstmal herrzlich

    ich habe nun beim auslesen des DOM ein kleines problem:
    folgende Methode soll die Anzahl an Elementen /Childs im objket mit der id seats_nrs ermitteln:

    Code:
     private int countSeats(){
     Element test = this.documentObject.getElementById("seats_nrs");
     return test.getElementsByTagName("text").getLength();
     }
    
    Ich habe dabei folgende XML Datei bzw SVG Datei :

    Code:
    --
    
    Dabei gibt mit der Code 177 zurück, warum auch immer. Es sind genau 180 Elemente, aber ich bekomm immer nur 177, weiß jemand rat?

    Wenn ich alle Childs zählen lasse, sind es 255, (ich denke er zählt dann öffnende und schließende tags mit), jedoch kann ich auch wenn ich versuche auf irgend ein Element manuell zuzugreifen wie :

    Code:
    test.getElementsByTagName("text").item(5).getNodeValue()
    bekomm ich nie einen Value also "null" oder einen leeren Value, aber nie die zahlen zwischen den Tags
    Hier auch nochmal jemand Rat?

    lg und danke schonmal =)
     
  4. 3. Mai 2011
    AW: SVG File in XML parsen

    Hallo Smoker,
    das von dir gepostete SVG/XML File hat bei mir auch nur 177 Tags "text". Aus meiner sicht gibt es pro Zeile einen "text"-tag, es gibt 179 Zeilen, minus die erste und letzte Zeile Komm ich auf 177 tags.

    Zu deinen Values, kann ich jetzt nicht genau sagen dazu müsste ich das Parsen erstmal testen. Nach einer Kurzen recherche im Netz, wär ein Ansatz, es mal mit "getData()" zu versuchen. Ist aber eher ein schuss ins blaue.

    In der oberen Tabelle, letzter eintrag zum Node "Text" hat mich zu CharacterData gebracht(2ter Link)

    Node (Java 2 Platform SE 5.0)


    CharacterData (Java 2 Platform SE 5.0)


    Wie gesagt, konnte es noch nicht testen, wenn noch interesse daran ist kann ich heute abend nochmal danach schauen.

    Gruß Felix
     
  5. 9. Mai 2011
    AW: SVG File in XML parsen

    Dank euch beiden,nach viel Stress hab ichs geschafft.

    Es gab außerdem Fehler bei der exportierung daher waren auch viele felder falsch beschriftet etc pp -.-
    total nervig und dämlich. Dank euch =)

    lg
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.