![]() |
Anführungszeichen werden als ASCII eingetragen.
Hallo,
bin schon länger hier am suchen und ich habe immer was gefunden wo ich mir mit helfen konnte aber diesesmal finde ich keinen Hinweis. Habe vor mit JvSimpleXML eine XML-Datei auszulesen und Werte hinein zu schreiben. Das lesen klappt hervorragend aber das schreiben bereitet mir Kopfzerbrechen. Die XML-Datei sieht so aus:
Code:
Aber immer wenn ich versuche ein solchen, <Folder Name="Sonstiges"/>, XML-Knoten zu erstell
<?xml version="1.0"?>
<Bookmarks> <Folder Name="Eigene Adresseinträge"/> <Folder Name="Touristische Infos"/> <Folder Name="Übernachtungsmöglichkeiten"/> <Folder Name="Essen, Unterhaltung und Sport"/> <Folder Name="Verkehr und Info"/> <Folder Name="Sonstiges"/> <Folder Name="Ponsa Haus"> <Bookmark Name="Lyngdal i Numedal (N 3624)"> <ObjectID>202335464691</ObjectID> <Layer>Town</Layer> <x>1059647</x> <y>8370710</y> </Bookmark> <Bookmark Name="Lyngdal (N 4580)"> <ObjectID>202335465105</ObjectID> <Layer>Town</Layer> <x>789160</x> <y>7990767</y> </Bookmark> </Folder> </Bookmarks> werden die Anführungszeichen als " eingetragen.
Delphi-Quellcode:
Hoffe ihr könnt mir helfen.
JvSimpleXML1.Root.Items.Add('Folder Name="'+edit2.text'"')
mcflaytasche |
Re: Anführungszeichen werden als ASCII eingetragen.
Code:
Hast du mal nachgesehn, was passiert, wenn du die " wegläßt?
JvSimpleXML1.Root.Items.Add('Folder Name="'+edit2.text[b][color=#ff0000]+[/color][/b]'"')
Eventuell müßen/dürfen die ja nicht mit angegeben werden. Also:
Delphi-Quellcode:
JvSimpleXML1.Root.Items.Add('Folder Name='+edit2.text)
Falls dann keine " in der XML erscheinen, schau doch mal nach, ob welche auftauchen, wenn du zwei Wörter, also irgendwas mit 'nem Leerzeichen zwischendrin in Edit2 übergibst. |
Re: Anführungszeichen werden als ASCII eingetragen.
Also dann bekomme ich beim Öffnen mit meinem Programm und beim Internet Explorer die Fehlermeldung das sie " fehlen.
|
Re: Anführungszeichen werden als ASCII eingetragen.
Hi, so geht das:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ButtonClick(Sender: TObject);
var e: TJvSimpleXmlElem; begin e := SimpleXml.Root.Items.Add('Folder'); e.Properties.Add('Name', 'Sonstiges'); ShowMessage(SimpleXml.XMLData); end; |
Re: Anführungszeichen werden als ASCII eingetragen.
Hallo marabu,
jetz funzt es, bin ich glücklich. Danke für die Hilfe. Gruß mcflaytasche |
Re: Anführungszeichen werden als ASCII eingetragen.
Habe schon wieder ein Problem!
Wie bekomme ich es hin das keine Folderknoten gemacht werden die den gleichen Namen haben? Und wie kann ich dann in einem vorhandenen Folderknoten Einträge einfügen? Gibt es eigendlich irgendwo eine Hilfe zu JvSimpleXML? Hoffe auf Eure Hilfe mcflaytasche |
Re: Anführungszeichen werden als ASCII eingetragen.
Hi.
Das könnte dir weiterhelfen:
Delphi-Quellcode:
Benutzen kannst du die Funktion so:
function ChildByProperty(
eParent: TJvSimpleXmlElem; // parent element const sElement, // element name sProperty, // attribute name sPropValue: String; // attribute value var eChild: TJvSimpleXmlElem // first matching element ): Boolean; // true if element exists var i: Integer; begin Result := true; for i := 0 to Pred(eParent.Items.Count) do begin eChild := eParent.Items.Item[i]; if (eChild.Name = sElement) and (eChild.Properties.Value(sProperty) = sPropValue) then Exit; end; eChild := nil; Result := false; end;
Delphi-Quellcode:
Grüße vom marabu
var
e: TJvSimpleXmlElem; begin if ChildByProperty(SimpleXml.Root, 'Folder', 'Name', 'Sonstiges', e) then ShowMessage('folder already exists'); end; |
Re: Anführungszeichen werden als ASCII eingetragen.
Guten Morgen marabu,
leider bekomme ich eine Fehlermeldung wenn ich Deinen Code eingebe: Zitat:
Und wo beziehst Du Dein wissen über symplexml? Gruß mcflaytasche |
Re: Anführungszeichen werden als ASCII eingetragen.
Hi.
Wie hast du deinem Programm meine Funktion bekannt gemacht? Es würde schon genügen, wenn du sie vor deinem Aufruf einfügst. marabu |
Re: Anführungszeichen werden als ASCII eingetragen.
Danke genau das war es, manchmal sieht man den Wald auch vor lauter Bäumen nicht.
Kannst Du mir irgend wie sagen wo Du bzw. wie Du auf diese Sachen zu Simplexml kommst oder sind die anderen xml Komponenten identisch? Gruß mcflaytasche |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 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-2025 by Thomas Breitkreuz