Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi thaxml und Leerzeichen in Attribute (https://www.delphipraxis.net/110156-thaxml-und-leerzeichen-attribute.html)

StYxXx 13. Mär 2008 19:48


thaxml und Leerzeichen in Attribute
 
Hi,


wenn ich eine xml-Datei mit einem Eintrag wie diesem habe:
<eintrag eigenschaft="hallo welt" />

Liest thaxml bei der Attribute "eigenschaft" nur bis zum ersten Leerzeichen. Ich erhalte also "hallo". Eigentlich ist der Text ja durch die Anführungszeichen (welche auch nicht mit ausgegeben werden) gekapselt. Wie bringe ich den Perser jetzt dazu wirklich alles zu beachten? Die XML-Datei liegt so bereits vor, also fällt die Idee, beim speichern das Leerzeichen zu ersetzen weg.


Grüße,
styxxx

gmc616 14. Mär 2008 00:20

Re: thaxml und Leerzeichen in Attribute
 
Namd,

Zitat:

Zitat von StYxXx
Wie bringe ich den Perser jetzt dazu wirklich alles zu beachten?

Streicheln ? :cat: :mrgreen: Sicher meinst du Parser.

Sorry leider kenne ich mich mit ThaXML nicht aus.
Ich hab mal fix was dazu überflogen, wozu ThaXML gut sein soll.
Zitat:

Bei den INI-Dateien wird häufig bemängelt, dass keine verschachtelte hierarchische Anordnung möglich ist, da der Aufbau einer solchen Datei dem Schema "Abschnitt"-"Wertpaare" folgt. Man hat nur eine Ein-Dimensionale Speichertiefe. Dieses Problem hat man bei der Registry nicht. Dort kann man seine Daten mit Hilfe von Schlüsseln sehr variabel verwalten. Einziger Nachteil dieser Methode: Die Registry ist nur für kleine Daten geeignet und jeder Eintrag bläht diese Datenbank zusätzlich auf. Größere Textstücke oder ähnliches gehört da nicht rein!

Um Daten hierarchisch zu speichern bietet sich das immer mehr in Mode kommende XML-Format an ... (bla bla) ... ThaXML-Library
Was hast du mit ThaXML vor?
Hast du viel Informationen, dass diese nicht in eine INI oder die Registry passen?

Oder versuchst ein "richtiges" XML-Dokument zu lesen?

Dafür schaust du dir am besten das TXmlDocument von Delphi an und lass das ThaXML sein.
Wenn es schon mein korrekten Auslesen der Attribute hapert, könnte ich mir vorstellen, dass das nicht der letzte Stolperstein mit ThaXML gewesen ist.
Letzten Endes wird ThaXML auch nur auf "normalem" Xml-Komponenten aufbauen.

Zum Thema XML gibt es in der DP zahlreiche Beiträge und Tutorials.

Nur ein gut gemeinter Rat. Sorry

Viel Erfolg. :thumb:

Muetze1 14. Mär 2008 00:37

Re: thaxml und Leerzeichen in Attribute
 
Zitat:

Zitat von gmc616
Letzten Endes wird ThaXML auch nur auf "normalem" Xml-Komponenten aufbauen.

Nein, ist genauso selbst implementiert wie meine XMLLib. Die kann ich sonst auch mal in's Rennen werfen - siehe Signatur. Und meine hat oben beschriebenes Verhalten definitiv nicht.

gmc616 14. Mär 2008 00:45

Re: thaxml und Leerzeichen in Attribute
 
Zitat:

Zitat von Muetze1
Zitat:

Zitat von gmc616
Letzten Endes wird ThaXML auch nur auf "normalem" Xml-Komponenten aufbauen.

Nein, ...

Stimmt, sonst würde ja das Lesen der Attribute funktionieren. :mrgreen:

Trotzdem hab ich den Sinn von ThaXML oder auch Muetze's XMLLib nicht verstanden.
Wozu bedient man sich so einer Krücke? (nicht böse gemeint, Muetze1 :zwinker: )

Muetze1 14. Mär 2008 00:58

Re: thaxml und Leerzeichen in Attribute
 
Zitat:

Zitat von gmc616
Trotzdem hab ich den Sinn von ThaXML oder auch Muetze's XMLLib nicht verstanden.
Wozu bedient man sich so einer Krücke? (nicht böse gemeint, Muetze1 :zwinker: )

Steht auf der Seite: Auf D5 hat man nur die MSXML und ich habe keine Lust von irgendwelchen installierten bzw. gerade nicht installierten MSXML.DLLs abhängig zu sein und mich mit COM Objekten rumzuschlagen. Schon allein das DOM Modell von der MSXML zum Zugriff auf die Nodes ist ein Krampf. Und ich wollte damals einfach nur strukturiert Einstellungen und Daten speichern und brauchte dafür nicht tonnenweise ActiveX Overhead, der dann auf manchen Windows Versionen nicht klappt, weil dort dann die Version zu niedrig ist.

Aber es zwingt dich keiner Krücken zu verwenden. Ich verzweifle jedesmal an der widerlichen Strukturierung der Klassen bei MS XML, von daher habe ich meine Gründe. Auch ist die Lib damals nur eine Tagesarbeit gewesen und somit war es kein Aufwand sowas zu schreiben. Zwischenzeitlich wird sie aber vielseitig und umfassend genutzt an vielen Stellen und es funktioniert gut. Vor allem haben mit meiner Lib schon manche Aufgaben gelöst, die mit MS XML nicht lösbar waren (nicht mal ansatzweise). Z.B. properitäre Datenablage von anderen Firmen wo dann z.B. die Attribute mit einfachen Hochkommas abgelegt wurden. Oder dass manche Parser daran verzweifeln, wenn man Nodenamen mit einem . im Namen verwendet (z.B. Borland .bdsproj, etc). So kann man leicht auch mal spezifische Probleme lösen, wo du bei MSXML wohl an die Grenzen stoßen würdest.

Ich gehe mal davon aus, dass du MSXML als einzig wahre Implementation siehst und somit nicht als Krücke, weil alles andere selbst implementiert wurde. Oder vielleicht noch die xerces, aber wie gesagt: jedem das seine.

gmc616 14. Mär 2008 02:17

Re: thaxml und Leerzeichen in Attribute
 
Okay, leuchtet ein und ist überzeugend.

Hatte zwar bis jetzt noch keine Probleme mit irgendwelchen XML-Dateien, aber Versionsproblem mit MSXML sind sehr wohl geläufig. Da hast du recht.

Danke für die Aufklärung. :cheers:

StYxXx 15. Mär 2008 15:48

Re: thaxml und Leerzeichen in Attribute
 
Zitat:

Zitat von gmc616
Namd,

Zitat:

Zitat von StYxXx
Wie bringe ich den Perser jetzt dazu wirklich alles zu beachten?

Streicheln ? :cat: :mrgreen: Sicher meinst du Parser.

rofl, beide :mrgreen:

Zitat:

Was hast du mit ThaXML vor?
Hast du viel Informationen, dass diese nicht in eine INI oder die Registry passen?
In der Funktion, in der es mir auffiel kann auch inis nutzen. Werde aber im weiteren Verlauf nicht um XML herumkommen, da ich möglichst eine hirarchische Datenbank brauche.
ThaXML bot sich an, weil es das erste war, das ich damals gefunden hatte und daher Erfahrung habe. Und ich eben nicht von irgendwelchen anderen Installationen oder DLLs abhängig bin. Eigentlich wurde es auch oft empfohlen, weshalb es mich wundert, dass es da Probleme hat. Bisher kamen bei meinen Projekten wohl nie Attributen mit Leerzeichen vor.

Zitat:

Oder versuchst ein "richtiges" XML-Dokument zu lesen?
Evtl. auch das mal ;)

Bei den anderen XML-Libs müsste ich mal schauen, ob ich sie auf anhieb verstehe und es schöne Tutorials/Beispiele gibt :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz