AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Leerzeichen im string Attribute in XML Datei schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Leerzeichen im string Attribute in XML Datei schreiben

Ein Thema von Boro · begonnen am 26. Aug 2009 · letzter Beitrag vom 30. Aug 2009
 
Boro

Registriert seit: 2. Mai 2006
23 Beiträge
 
#11

Re: Leerzeichen im string Attribute in XML Datei schreiben

  Alt 29. Aug 2009, 22:03
Zitat von himitsu:
aber es gibt für Text diese Möglichkeiten
XML-Code:
<node attr="text" />
<node>text</node>
<node><[CDATA[text]]></node>
wobei man in CDATA die wenigsten Beschränkungen hat und auch keine Normalisierung durchgeführt wird

<[CDATA[text]]> könnte man via .CreateNode und als NodeType ntCData erstellen
aber eventuell gibt es auch eine Vaiante, womit man einem "normalem" Node sagt, daß dessen "Text" in einen CDATA-Bereich rein soll
Wenn ich Element via .CreateNode und als NodeType ntCData erstelle,
Delphi-Quellcode:
  ixnNote := XMLDocument1.CreateNode('note',ntElement,'');
  ixnRoot.ChildNodes.Add(ixnNote);

  ixnNoteHead := XMLDocument1.CreateNode('noteHead',ntCData,'');
  ixnNoteHead.NodeValue := ' anyhead';
  ixnNote.ChildNodes.Add(ixnNoteHead);
dann kommt in die .xml Datei nur die CDATA sektion ohne den Namen des Elementen 'noteHead'.
<note><![CDATA[ anyheadtext]]></note> Dies ist sehr schlecht, weil das Element noteHead ausgefallen ist.
Wenn ich so erstellte Datei dem Data Binding Wizard gib, generiert er keine Elementklasse 'NoteHead' aus dieser Datei. Sogar das Element 'Note' sieht der Binding Wizard nur als widestring Property (Attribut).

Wenn ich aber in diese .xml Datei das fehlende Elementenname mit Hand zuschreibe
<note><noteHead><![CDATA[ anyheadtext]]></noteHead></note> generiert der Binding Wizard auch die Elementenklasse fur Note. Leider wird NoteHead nur eine Property fur ihm. Einer Property weis ich aber nicht CDATA Sektion zurodnen.

Sieht so aus, als ob Element mit .CreateNode fur eine CDATA noch einen Subelement braucht, um sein Namen nicht verlieren lassen.

Durch Klassen und Properties vom Binding Wizard weis ich nicht die CDATA in die .xml schreiben. Vielleicht geht es wenn ich eine gute .dtd oder .xsd selbst schreibe. Die muss ich zu erst lernen. Kommt mir komisch vor, das so eine triviale Sache wie fuhrende Leerzeichen im Text solche Probleme anschtosst.
  Mit Zitat antworten Zitat
 


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 22:33 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