AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Anführungszeichen werden als ASCII eingetragen.
Thema durchsuchen
Ansicht
Themen-Optionen

Anführungszeichen werden als ASCII eingetragen.

Ein Thema von mcflaytasche · begonnen am 16. Feb 2006 · letzter Beitrag vom 19. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#1

Anführungszeichen werden als ASCII eingetragen.

  Alt 16. Feb 2006, 12:44
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:
<?xml version="1.0"?>
<Bookmarks>
  <Folder Name="Eigene Adresseintr&#xC3;&#xA4;ge"/>
  <Folder Name="Touristische Infos"/>
  <Folder Name="&#xC3;&#x9C;bernachtungsm&#xC3;&#xB6;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>
Aber immer wenn ich versuche ein solchen, <Folder Name="Sonstiges"/>, XML-Knoten zu erstell
werden die Anführungszeichen als &quot; eingetragen.
JvSimpleXML1.Root.Items.Add('Folder Name="'+edit2.text'"') Hoffe ihr könnt mir helfen.
mcflaytasche
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 16. Feb 2006, 16:21
Code:
JvSimpleXML1.Root.Items.Add('Folder Name="'+edit2.text[b][color=#ff0000]+[/color][/b]'"')
Hast du mal nachgesehn, was passiert, wenn du die " wegläßt?
Eventuell müßen/dürfen die ja nicht mit angegeben werden.

Also:
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.
$2B or not $2B
  Mit Zitat antworten Zitat
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#3

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 16. Feb 2006, 18:23
Also dann bekomme ich beim Öffnen mit meinem Programm und beim Internet Explorer die Fehlermeldung das sie " fehlen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 17. Feb 2006, 10:27
Hi, so geht das:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  e: TJvSimpleXmlElem;
begin
  e := SimpleXml.Root.Items.Add('Folder');
  e.Properties.Add('Name', 'Sonstiges');
  ShowMessage(SimpleXml.XMLData);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#5

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 17. Feb 2006, 10:50
Hallo marabu,
jetz funzt es, bin ich glücklich.
Danke für die Hilfe.
Gruß
mcflaytasche
  Mit Zitat antworten Zitat
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#6

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 18. Feb 2006, 11:04
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 18. Feb 2006, 16:39
Hi.

Das könnte dir weiterhelfen:

Delphi-Quellcode:
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;
Benutzen kannst du die Funktion so:

Delphi-Quellcode:
var
  e: TJvSimpleXmlElem;
begin
  if ChildByProperty(SimpleXml.Root, 'Folder', 'Name', 'Sonstiges', e) then
    ShowMessage('folder already exists');
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#8

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 19. Feb 2006, 10:40
Guten Morgen marabu,
leider bekomme ich eine Fehlermeldung wenn ich Deinen Code eingebe:
Zitat:
[Error] Nav.pas(108): Undeclared identifier: 'ChildByProperty'
Als was muß ich den die Funktion anmelden?

Und wo beziehst Du Dein wissen über symplexml?

Gruß mcflaytasche
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 19. Feb 2006, 12:15
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
  Mit Zitat antworten Zitat
mcflaytasche

Registriert seit: 11. Jan 2006
Ort: Oberweser
17 Beiträge
 
#10

Re: Anführungszeichen werden als ASCII eingetragen.

  Alt 19. Feb 2006, 14:46
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12: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