AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TJvSimpleXML Probleme

Ein Thema von Bauer007 · begonnen am 9. Apr 2009 · letzter Beitrag vom 9. Apr 2009
Antwort Antwort
Bauer007

Registriert seit: 17. Sep 2007
Ort: Husum
56 Beiträge
 
Delphi XE2 Professional
 
#1

TJvSimpleXML Probleme

  Alt 9. Apr 2009, 13:30
Moin Moin,

habe ein Problem mit der "TJvSimpleXML" komponente...


Delphi-Quellcode:
for i := 0 to FileList.Count - 1 do
      begin

      Dat_Data := Explode('|', FileList.Strings[i]);
      
        with XML_CREATE.Root.Items.add('meinegruppe') do
        begin
          Properties.Add('wert', data_file.ReadString('LISTE', Dat_Data[0], Dat_Data[1]));

        end;
      end;
Das funktioniert, doch mein Problem ist das bei den Properties(wert) Strings mit Sonderzeichen z.B.: ' in ' ausgegeben werden. DAS darf nicht! (egal ob Conform oder nicht)

Jemand eine Lösung?
oder eine andere "bessere" Komponente?
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 13:32
Was heißt ausgegeben? Falls du meinst das im XML dein Sondernzeichen XML-Konform vorliegt so muß/wird das jede vernünftige XML-Komponente machen. Ansonsten hast du kein XML und du mußt das alles selbst machen und hast damit ein properitäres Textformat. Oder hast du wohl eine Gegenstelle die solche fehlerhafte Daten zwingend benötigt?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bauer007

Registriert seit: 17. Sep 2007
Ort: Husum
56 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 13:35
Tja nun leider speichert vBulletin seine Daten nciht gerade nach Standard! Daher kann ich nicht aus der Reihe tanzen. Es geht um das ein/auslesen von Daten die in einem XML-File gespeichert sind....

Beispiel...

XML-Code:
<templategroup name="Who's Online">
<template name="WHOSONLINE" templatetype="template" date="0" username="0" version="0">
</template>
</templategroup>
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 13:36
das MSXML-DOM macht es, wie gewünscht
> TXMLDocument (Units: XMLDOM, XMLIntf, XMLDoc)


Delphi-Quellcode:
Var X: TXMLDocument;

X := TXMLDocument.Create(Self);
X.Active := True;
X.Version := '1.0';
X.StandAlone := 'yes';
X.Encoding := 'UTF-8';
X.Options := [doNodeAutoIndent];
X.AddChild('xml');
X.DocumentElement.AddChild('Node').Text := '123''456';
X.DocumentElement.AddChild('Node').Attributes['attr'] := '123''456';
X.SaveToFile('test.xml');
X.Free;
XML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml>
  <Node>123'456</Node>
  <Node attr="123'456"/>
</xml>
und wie es bei mir (Hier im Forum suchenhimXML) aussieht: aktuell würde es auch so behandelt (also ' bleibt ' )
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 13:53
Zitat von Bauer007:
Das funktioniert, doch mein Problem ist das bei den Properties(wert) Strings mit Sonderzeichen z.B.: ' in &apos; ausgegeben werden. DAS darf nicht! (egal ob Conform oder nicht)
Es ist nicht Konform, wenn ' maskiert wird

Dieses sollten eigentlich die am TJvSimpleXML ändern oder sie müßten zumindestens darauf hinweisen.

Laut der XML-Spezifikation dürfen/müssen "nur"
&quot; "
&amp; &
&lt; <
&gt; >
und sonst alles Andere nach &x...;


&apos; ist nichtmal in der Spec definiert. (weder XML 1.0, noch XML 1.1)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 14:00
Zitat von himitsu:
Es ist nicht Konform, wenn ' maskiert wird
...
&apos; ist nichtmal in der Spec definiert. (weder XML 1.0, noch XML 1.1)
Sicher? Nach FAQ: Verwendung von Zeichen-Entity-Referenzen und numerischen Zeichenreferenzen

Zitat:
Zu beachten ist dabei jedoch, dass &apos; zwar in XML definiert ist, nicht aber in HTML. Aus diesem Grund empfiehlt die XHTML-Spezifikation [im Anhang C.16], stattdessen ' zu verwenden, wenn der Text an ein Nutzerprogramm (Browser) geschickt wird, der diesen als HTML verarbeitet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 14:07
ich werf mir wohl besser noch 'ne Ibu ein

hatte grad ausversehn nur den Ordner der MXSML-Specs durchsuchen lassen und $apos; nicht entsprechend gefunden.

OK: hier ist es doch zu finden
http://www.w3.org/TR/2006/REC-xml11-20060816/

aber es muß per Standard nicht umgewandelt werden, wenn es keine Probleme gibt.

Einziger Grunde, wo/warum es umgewandelt werden MUß ist, wenn die Attribute mit ' begrenzt sind und im Text ein ' vorkommt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Bauer007

Registriert seit: 17. Sep 2007
Ort: Husum
56 Beiträge
 
Delphi XE2 Professional
 
#8

Re: TJvSimpleXML Probleme

  Alt 9. Apr 2009, 14:08
Ok habe ich eine Menge durch diesen mir peinlichen Fehler gelernt.
Aber habe das Problem beim Studieren der "JclSimpleXml.pas" gefunden. Da ich nicht mit der Komponente zur Designzeit arbeite sah ich nicht das diese eine Option hat, mit der man das Codieren ausschalten kann.

Somit habe ich das was ich wollte

Danke Euch dennoch für Eure Mühen!
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:13 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