ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
235
235
EMPFEHLEN
-
21.07.08 22:35 #1
- Registriert seit
- Apr 2003
- Ort
- Konstanz
- Beiträge
- 83
Hallo,
bin gerade am hirnen wie ich folgendes Problem angehen bzw lösen kann.
Über verschiedene Beiträge bin ich auf ZipLib von ICSharp gestossen die mich sehr angetan hat.
In meinem Source rufe ich eine XML-Datei ab:
dim XmlStreamFile as system.io.stream = zip.zipfile.read (strFileName)
Danach befindet sich ein ByteStream in der Variablen XmlStreamFile, soweit ok. Nun muss ich das ganze noch umwandeln zu einem ASCII-String, auch das hat funktioniert, diesen String übergeben ich dann per xmldoc.loadxml(xmlstream)
Nun möchte ich das ganze in eine Klasse verbauen, so dass ich die Klasse mit dem XmlStreamFile als ByteStream und dem gesuchten Pfad zum Element wie ("/docu/test/reihe").
Als Ergebnis möchte ich ein ArrayList() um so alle mit diesem Pfad gefundenen Wert zu erhalten.
Soweit die Theorie.
Ich würde gerne wissen wie man eine Klasse in der Form aufbauen kann die mir dann dieses ArrayList zurück gibt.
Wäre toll wenn mir jemand helfen könnte.
Viele Grüsse,
Daniel
-
Also du solltest mal keinen ASCII-String verwenden, sondern eher UTF-8.
Des weiteren brauchst du dir nur eine Klasse erstellen mit einer Methode, die zum einen den Stream übernimmt und zum anderen deinen gewünschten XPath. Danach kannst du das ganze in ein XmlDocument laden, ein SelectNodes mit dem entsprechenden XPath aufrufen. Due erhaltenen Nodes liest du aus, schreibst die Werte in eine ArrayList und gibst diese zurück.
-
22.07.08 16:49 #3
- Registriert seit
- Apr 2003
- Ort
- Konstanz
- Beiträge
- 83
Hallo Norbert,
Danke für die Info, konnte ich wie Deine anderen Beiträge schon gut in die Tat umsetzen.
Ein Problem habe ich:
Ich lese aus einer Textdatei aus einem Zip-File die Datei aus. Der Typ ist system.io.stream.
Wie kann ich feststellen wieviel ich lesen muss wenn stream.length immer 0 ausgibt? Wenn ich spasseshalber mal als Wert 2048 angebe, bekomme ich auch 2k an Daten, nur ich möchte ja bis zum Ende des Stream lesen und dann den gelesenen Dateiinhalt umwandlen in UTF8.
Habe mich an Dein früheres Beispiel gehalten und lesen den Stream aus zipfile.getinputstream und dann
while _streamsize = _stream.read(_buffer, 0, _buffer.length) > 0
_strBuilder.append(new system.text.utf8encoding().getstring(_buffer,0,_streamsize)
end while
aber ich bekomme nicht die ganze Textdatei gelesen ohne zu wissen/anzugeben wieviel Bytes denn nun gelesen werden sollen.
Gruss,
DanielGeändert von DanielBodensee (22.07.08 um 16:51 Uhr)
Ähnliche Themen
-
MySQL Abfrage eines Wertes in einer zuvor aus einem Formular ausgewählten Spalte.
Von godfather_al im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 28.12.10, 18:05 -
Selektion eines nicht belegten Wertes innerhalb eines Bereiches (Oracle 10g)
Von TimoTH im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 06.10.10, 16:42 -
(Oracle 10.2) Wertes auf Basis eine min/max Wertes eines anderen Feldes
Von Sabine_81 im Forum Relationale DatenbanksystemeAntworten: 6Letzter Beitrag: 27.10.08, 15:49 -
Excel 2007, Abfrage eines Wertes eines Liste und einfügen von Feldern
Von ChriFlex im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 26.06.08, 12:41 -
Abfrage eines Wertes, bei null soll ein Button getauscht werden.
Von mrepox im Forum PHPAntworten: 6Letzter Beitrag: 11.07.05, 15:49





Zitieren
Login





