SAX: String parsen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
RainBowBender
User
Beiträge: 53
Registriert: Dienstag 6. April 2004, 10:33

SAX: String parsen

Beitragvon RainBowBender » Montag 2. August 2004, 11:24

Hallo, wie kann ich mit Sax einen String parsen?

Code: Alles auswählen

parser = xml.sax.make_parser()
parser.setContentHandler(xml.sax.handler.ContentHandler())
parser.setFeature(xml.sax.handler.feature_namespaces,0)
parser.parse("<test>Hallo</test>")


Geht schließlich nicht!
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Beitragvon genrich » Montag 2. August 2004, 11:35

Was willst du genau machen???
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Montag 2. August 2004, 12:38

versuchs mal so:

Code: Alles auswählen

parser = xml.sax.make_parser()
parser.setContentHandler(xml.sax.handler.ContentHandler)
parser.setFeature(xml.sax.handler.feature_namespaces,0)
parser.parse("<test>Hallo</test>")

Ist aber nicht getestet.

setContentHandler erwartet eine Funktion, nicht das Ergebnis der Funktion also ohne ()!


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
RainBowBender
User
Beiträge: 53
Registriert: Dienstag 6. April 2004, 10:33

Beitragvon RainBowBender » Montag 2. August 2004, 14:02

Dookie hat geschrieben:versuchs mal so:

Code: Alles auswählen

parser = xml.sax.make_parser()
parser.setContentHandler(xml.sax.handler.ContentHandler)
parser.setFeature(xml.sax.handler.feature_namespaces,0)
parser.parse("<test>Hallo</test>")

Ist aber nicht getestet.

setContentHandler erwartet eine Funktion, nicht das Ergebnis der Funktion also ohne ()!


xml.sax.handler.ContentHandler ist eine Klasse, ich übergebe die instanz, normalerweise leitet man von der ab und überschreibt die Handler funktionen, dass ist schon so richtig. Mein Problem ist parser.parse, diese Funktion akzeptiert keine XML-Eingabe als String, sondern afaik ne URL oder eine Datei
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Montag 2. August 2004, 15:11

Hi. Hat denn der Parser keine Methode parseString ? Naja, wenn nicht machst du dir halt nen Buffer:

Code: Alles auswählen

import cStringIO
parser.parse(cStringIO.StringIO("<test>Hallo</test>"))
RainBowBender
User
Beiträge: 53
Registriert: Dienstag 6. April 2004, 10:33

Beitragvon RainBowBender » Dienstag 3. August 2004, 22:39

danke

Wer ist online?

Mitglieder in diesem Forum: pixewakb