Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 27.12.2005, 10:13   Nach oben    #1
Robinson
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard XML aus Datenbank lesen, verarbeiten

Hallo, ich nutze XML um Änderungen an einem Datenbestand per Maili zu synchronisieren.

Ein Programm liest die Mails aus und schreibt sie in eine DB.

Ein zweites Programm soll diese Mails nun verarbeiten.
Hierzu muss ich sie aus der Datenbank lesen und parsen.
Das klappt aber bei mir nicht!


PHP-Code:

package synchronize
.worker;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;

import DbConnection;

public class 
MessageWorker extends DefaultHandler {

    public 
boolean proceed() {
        
boolean proceed false;
        try {
            try {
                
// Messages aus der DB lesen
                
Statement stmt DbConnection.get().createStatement();
                
ResultSet rs DbConnection.get().createStatement().executeQuery("SELECT * FROM dbo.getMessagesToWork('')");
                while (
rs.next()) {
                    
proceed=true;
                    
// Messages verarbeiten
                    
SAXParserFactory saxParserFactory SAXParserFactory.newInstance();
                    
saxParserFactory.setValidating(true);
                    
XMLReader xmlReader null;
                    try {
                        
SAXParser saxParser saxParserFactory.newSAXParser();
                        
xmlReader saxParser.getXMLReader();
                        
xmlReader.setContentHandler(this);
                        
xmlReader.setErrorHandler(new ObjectErrorHandler());
                        
xmlReader.parse(rs.getString("message"));
//                        xmlReader.parse("test.xml");
                    
}
                    catch(
Exception e) {
                        
e.printStackTrace();
                    }
                    
// Message löschen
//                    stmt.execute("EXECUTE dbo.setMessageWorked "+rs.getString("id")+",''");
                
}
            } catch (
SQLException e) {
                
e.printStackTrace();
            }
        } catch(
Exception e) {
            
e.printStackTrace();
        }
        return 
proceed;
    }

    public 
void startElement(String uriString localNameString qNameAttributes attributes) {
        
System.out.println(qName+":"+attributes.toString());
    }
    
    public 
void endElement(String uriString localNameString qName) {
    }

Wenn ich die XML Datei (test.xml) direkt parsen lasse, kein Problem!
Wenn ich statt dessen den gleichen String aus der Db lade schießt es mir eine URL Exception raus.

Also vermut ich dass die Parse Methode nicht für ein XML Dokument in einem String gedacht ist sondern nur als URL.

Wie kann ich also einen String verarbeiten in dem Das XML Dokument enthalten ist?
Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:35   Nach oben    #2
pago
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.083
Standard

Wie wäre es mit
Code:
xmlReader.parse(new StringReader(rs.getString("message")));
Wenn parse(String) einmal so interpretiert wird, dass es sich um eine URL zu einer Datei handelt, dann wird das bei einem weiteren aufruf nicht anders aussehen, denkst du nicht? In sofern kann das überhaupt nicht funktionieren, was du da vor hattest.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:43   Nach oben    #3
Robinson
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard

Mein Source war nur dafür gedacht dass der Aufbau des Programms klar wird.
Das dies nicht klappt habe ich anhand der API bereits gesehen.

Ich werde deine Idee mal testen.

Danke
Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:46   Nach oben    #4
Robinson
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard

Schade, war auch nicht das richtige.

Exception:

The method parse(InputSource) in the type XMLReader is not applicable for the arguments (StringReader)
Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 19:51   Nach oben    #5
pago
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.083
Standard

parse(new InputSource(new StringReader(rs.getString("content")));
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 20:30   Nach oben    #6
Robinson
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard

So geht es.

Das war mal wieder eine schwere Geburt!

Vielen Herzlichen Dank!
Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht 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 An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DB Backup als XML im ZIP Archiv ex³ PHP-Programmierung 4 13.09.2007 14:17
Problem bei Verarbeitung von Templates (Eigene Klassen) dago PHP-Programmierung 21 31.08.2006 16:02
Datenbank und Sicherheit sparrow Datenbanken 23 05.11.2005 17:45
xml parsing nove HTML, XML und CSS 10 16.07.2005 07:43
XML Schema GUI Engine (JAXFront) spor Nachrichten 2 05.08.2004 17:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:02 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

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