![]() |
Re: himXML (gesprochen himix ML)
.XMLText:
Also in himXML wird der eingelesene/geparste Text ja in seine Einzelteile zerlegt und nur die enthaltenen Informationen gespeichert. Beim "Auslesen" dieser Eigenschaft wird der XML-Text dann neu zusammengebaut. Klar könnte ich jetzt noch alle möglichen Zusatzinfos über die ursprüngliche Textformatierung mit speichern, aber das wollte ich nicht ... ist mehr Aufwand, benötigt mehr Speicher und vorallem bremst es alles aus. Das ist gerade ein Vorteil gegenüber dem MSXML-DOM ... die Geschwindigkeit und der Speicher Und außerdem kommt es hier ja mehr auf den Inhalt und nicht das Datenformat an. :angel2: XHTML ist ja "nur" ein Mischmasch aus HTML und XML, aber wie gesagt, ich bin dabei einige "Restiktionen" zu lockern und "Umwege" einzubauen, aber alles werd' ich wohl nie hinbekommen, da ich vorwiegend nur Fehlererkennungen einbau und keine Fehlerbehebung (die Parser der großen Browsern könn ja nahezu jedes Problem gekonnt "ignorieren", was aber och blöd ist, da gerade deswegen viele Internetseiten eigentlich "defekt" sind, aber es läuft halt, drum läßt man es so) |
Re: himXML (gesprochen himix ML)
Zitat:
ich weiß allerdings grad nicht, ob der Name so auch noch der XML-Spec entspricht, aber selbst wenn ich das ändern sollte ... ich leg grad eine neue Option an, wo man die Namensprüfung etwas lockern kann könnte. z.B. "num:123" um es leicht wieder zu trennen oder es getrennt zu setzen, kannst du die Möglichkeiten für die Namespacebehandlung des Nodes nutzen (.Namespace und .NameOnly). |
Re: himXML (gesprochen himix ML)
ich weiß, es gab 'ne Weile kein Update, aber nun geht's weiter
hier mal der aktuelle Stand (abgesehn von einigen Problemchen läuft es erstmal/wieder)
Datei siehe ![]() Bezüglich einiger der Probleme der letzen 2 Seiten, wie z.B. die Kodierung usw., werd' ich mich jetzt erstmal damit etwas beschäftigen und versuchen alles nachzuvollziehen. Falls einer 'ne Testdatei hat, wo etwas nicht läuft, könnte er sie mir ja gern mal zur Verfügung stellen. |
Re: himXML (gesprochen himix ML)
hab grad die EXMLException überarbeitet
- ein netter Fehler in der Paremeterbehandlung in der Exceptionsklasse wurde behoben ('ne Exception in der Exception, welche den eigenentlichen Fehler verbarg) - überlange Fehlertexte werden abgeschnitten (also hier z.B. eingeblendete Name) - Steuer- und Unicodezeichen werden umgewandelt und Hexadezimal angezeigt bei diesem
Delphi-Quellcode:
kommt also nun sowas raus (wenn NodeAutoCreate aktiviert ist)
XML.Node['EDDH'].Node['2009'].Node['Juni'].Node['30'].Attribute['haha'] := 'Putzilein';
XML.Node['EDDH\2009\Juni\30'].Attribute['haha'] := 'Putzilein'; XML.Attribute['EDDH\2009\Juni\30\haha'] := 'Putzilein'; Zitat:
darum hab ich mir grad überlegt noch eine weitere Option anzubieten, welche dann mit einer "Node existiert nicht"-Exception um sich wirft (dieses sollte dann die Zugriffsverletzung auf "nil" verständlicher machen) ... also beim nächsten Update vermutlich dann mit enthalten |
Re: himXML (gesprochen himix ML)
aus
![]() Zitat:
beim Einlesen war alles noch OK und auch wärend man mit dem Bäumchen arbeitete ... es verschand also nur wärend des Speicherns :angel2: hab auch gleich mal die restlichen verbliebenen (langsameren) Suchschleifchen in ParsingTree ersetzt und ebefalls nach TXMLFile.ParsingTree._Search verlagert :stupid: Update siehe Beta in Post #1 |
Re: himXML (gesprochen himix ML)
|
Re: himXML (gesprochen himix ML)
Ups, da gab's nen größeren Fehler in der Encodierung :oops:
Der reichte von falscher Decodierung, über fälschlicher Beschuldigung einer falschen Codierung, obwohl sie womöglich doch korrekt war, über einen Pufferüberlauf, bzw. einer Exception, weil außerhalb des Puffers lesend zugegriffen wurde Grund: der Lesepuffer wurde bei Änderung der Codierung (via <?xml-Tag) falsch geleert und der Zeiger nicht zurückgesetzt :? Update siehe Post #1 > v0.94 |
Re: himXML (gesprochen himix ML)
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich nutze seit einigen Wochen himXML für einen kleinen RSS Feedreader und habe mit der neuesten (Beta)Version vom 18.07. leider das Problem, dass beim Parsen einiger Feeds (u.a. bei der DP) ein Fehler auftritt. Hier der Text von der himXML Exception:
Delphi-Quellcode:
Anbei die XML-Datei...
EXMLException (TXMLFile.ParsingTree):
invalid closing tag - node #0022description#22 is not opened error at byte position 389 ("</description>#0A <image>#0A#09 <title>Delphi-PRAXiS</title>#0A#09 <url>http://www.delphipraxis.net/misc/banner/banner_dp_130_100.g..." on line 1) Gruß Patrick |
Re: himXML (gesprochen himix ML)
Liste der Anhänge anzeigen (Anzahl: 2)
Also hier kann ich mal beruhigt die Schuld dem bösen Daniel R. Wolf in die Schuhe schieben, :angel2:
denn die angehängte Datei ist nicht korrekt kodiert, bzw. enthält ungültige Zeichen. z.B. das Markierte #$0F im Anhang Unbenannt.png . Dieses Zeichen ist laut Spezifikation in XML-Dateien nicht als gültiges "Char" definiert. Aber zum Glück hab ich für so'nen Fall schon vorsorglich vorgesorgt. :mrgreen: Lösung: laß "ungültige" Zeichen in ein Leerzeichen umwandeln
Delphi-Quellcode:
Und ich überleg mir grad, ob ich diese Option nicht gleich mit in die Standardoptionen aufnehmen soll? :gruebel:
XML.Options := XML.Options + [xoChangeInvalidChars];
XML.LoadFromFile('..\Feed_1242DP.xml'); |
Re: himXML (gesprochen himix ML)
eigentlich kaum erwähnenswert, aber da ich vorhin eine Nachricht bekam, daß etwas nicht mehr geht ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz