AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML Element-Text unverändert einlesen

XML Element-Text unverändert einlesen

Ein Thema von dammi · begonnen am 24. Dez 2009 · letzter Beitrag vom 27. Dez 2009
Antwort Antwort
dammi
(Gast)

n/a Beiträge
 
#1

XML Element-Text unverändert einlesen

  Alt 24. Dez 2009, 14:11
Hallo Leute,

und zwar versuche ich gerade Texte von Elementen einzulesen und in einem TRichEdit Feld anzuzeigen.
Das funktioniert soweit ohne Probleme, allerdings würde ich gerne den einzulesenden Text "unberührt" einlesen, also so wie er in den jeweiligen Element steht.

Das Problem hierbei sind Zeichen wie &amp, &lt, &gt etc ..
Diese stehen im XML Dokument genau so drin, also z.B. "&amp das ist ein Text".
Will ich diesen Text nun als String in das TRichEdit Feld hinzufügen steht dort dann "& das ist ein Text".

Jemand eine Tipp für mich wie er das als "&amp" einliest und vorallem auch wieder als "&amp" speichert?



Dank schon im Voraus & noch ein Frohes Fest,
dammi
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.097 Beiträge
 
Delphi 12 Athens
 
#2

Re: XML Element-Text unverändert einlesen

  Alt 26. Dez 2009, 21:20
ich sag jetzt einfach mal: das geht nicht.

dieses gehört zum XML-Format und wird von jedem ordentlichem XML-Parser automatisch entschlüsselt.

wenn du das wirklich als Text haben willst, dann muß es so kodiert werden:
"& das ist ein Text"
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
dammi
(Gast)

n/a Beiträge
 
#3

Re: XML Element-Text unverändert einlesen

  Alt 26. Dez 2009, 22:07
Alles klar, dann muss ich mal schauen ob TrueCrypt das dann auch lesen kann.

Aber noch eine andere Frage:
Und zwar erstelle ich ja das Objekt (Interface) vom Typ IXMLDocument und lade die XML Datei mit z.B.
Delphi-Quellcode:
XMLFile := newIXMLDocument;
XMLFIle.LoadFromFile('blablub.xml');
XMLFile.Active := true;
Mich würde noch interessieren wie ich später im Programm prüfen kann, ob dieses Objekt aktuell noch existiert.
Also wie man prüfen kann ob die Referenz auf das Objekt noch existiert und diese vll auch löschen kann.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.097 Beiträge
 
Delphi 12 Athens
 
#4

Re: XML Element-Text unverändert einlesen

  Alt 27. Dez 2009, 00:21
Wenn XMLFile vom Typ IXMLDocument (nicht TXMLDocument) ist, dann wird das Dokument freigegeben, wenn alle Varialben, welche dieses Objekt enthielten entweder NIL sind oder nun ein anderes Dokument enthalten oder nicht mehr existieren (z.B. lokale Prozedurvariblen, nachdem die Prozedur verlassen wurde).

Global prüfen kann man es nicht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: XML Element-Text unverändert einlesen

  Alt 27. Dez 2009, 00:48
Man kann die Anzahl der Referenzen auslesen.
Dazu wird der interne Referenzzähler um eins erhöht und dann wieder erniedrigt.
Delphi-Quellcode:
interfacevar._AddRef;
anzahl := interfacevar._Release;
In manchen Fällen kann der ausgelesene Referenzzähler auch gefaked sein und liefert so immer 1.
fork me on Github
  Mit Zitat antworten Zitat
dammi
(Gast)

n/a Beiträge
 
#6

Re: XML Element-Text unverändert einlesen

  Alt 27. Dez 2009, 15:28
Na super

Dann werd ich einfach auf das "Active" des erstellten Objekts prüfen (welches ich beim erstellen immer auf true setze) und mit der Exception weiterarbeiten.
Also
Delphi-Quellcode:
try
  if XMLFile.Active = true then begin
  ....
  end;

except
  on E: Exception do begin
  ....
  end;
end;
Da dürfte ich ja dann auf der sicheren Seite sein hoffe ich
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.097 Beiträge
 
Delphi 12 Athens
 
#7

Re: XML Element-Text unverändert einlesen

  Alt 27. Dez 2009, 18:45
Wenn du eh eine Variable mit diesem Interface drinnen hast, dann existiert auch noch das Objekt
und man müßte eigentlich nicht extra nochmal nachprüfen.

Bei Interfaces ist es standardmäßig so, daß sie automatisch freigegeben, wenn die letzte Referenz auf sie freigegeben wurde, also wenn es keine Variablen mehr gibt, wo sie noch drin stecken.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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