Antwort
 
Themen-Optionen Thema durchsuchen
Alt 27.12.2005, 10:13 Nach oben    #1
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:35 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:43 Nach oben    #3
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 10:46 Nach oben    #4
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 19:51 Nach oben    #5
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

parse(new InputSource(new StringReader(rs.getString("content")));
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.12.2005, 20:30 Nach oben    #6
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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 Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind 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 +1. Es ist jetzt 17:23 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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