nachdem ich fast verzweifelt wäre hab ich nun was gefunden.. was mir bei meinem xml problem hilft.
Code: Alles auswählen
import sys
from xml.dom.ext.reader.Sax2 import FromXmlStream
from xml.dom.NodeFilter import NodeFilter
datei = "D:/Daten/test/test.xml"
infile = open(datei,'r')
inhalt = infile.read()
doc = FromXmlStream(sys.stdin)
#doc = FromXmlStream(inhalt)
walker = doc.createTreeWalker(doc.documentElement, NodeFilter.SHOW_ELEMENT, None, 0)
while 1:
#do something
next = walker.nextNode()
if next is None: break
mein problem liegt aber jetzt erstmal die datei überhaupt korrekt einzulesen.. ich hatte zuerst versucht das skript aufzurufen und dabei die datei auf stdin zu legen ( xml.py <datei.xml ) gab immer nen bad filedeskriptor fehler!
laut doku liest dies
doc = FromXmlStream(sys.stdin)
direkt aus einer offenen datei.. machts bei mir aber nicht
also inhalt als string gespeichert
und
doc = FromXmlStream(inhalt)
benutzt ..
naja.. liefert nen fehler weil er komischerweise versucht den string als url zu interpretieren
laut doku will die funktion als eingabe ein "file-like-object" oder nen string
ich glaub ich bin zu dumm für sowas..
kann mir das jemand mal erklären?
greetz
slide
