Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi XML mit TJvSimpleXml (https://www.delphipraxis.net/52029-xml-mit-tjvsimplexml.html)

yankee 13. Jun 2006 21:10

Re: XML mit TJvSimpleXml
 
Also die JVCL-Lösung ist im Vergleich der meisten anderen Parser sehr schnell.
Das hängt aber damit zusammen, dass die Funktionalität auch sehr eingeschränkt ist... Andere xml-parser prüfen erstmal, ob das Dokument korrekt formatier ist, die richtigen Werte enthält mit richtigem Datentyp und die Baumstruktur richtig ist...
Allerdings sind die meisten dieser Prüfungen bei den meisten Anwendungsfällen meiner Meinung nach eh überflüssig....

alias5000 13. Jun 2006 21:20

Re: XML mit TJvSimpleXml
 
Wenn ich die XML-Datei eh mit JvSimpleXNL erstelle auf jeden Fall.

DGL-luke 14. Jun 2006 13:02

Re: XML mit TJvSimpleXml
 
Hallo, ich bin gerade dabei, ein OO.o Spreadsheet zu verhackstücken. :mrgreen:

Ich hätte gerne auf die Text-nodes zugriff, die in der hierarchie ungefähr so liegen:

XML-Code:
- <office:body>
- <office:spreadsheet>
- <table:table table:name="Tabelle1" table:style-name="ta1" table:print="false">
  <office:forms form:automatic-focus="false" form:apply-design-mode="false" />
  <table:table-column table:style-name="co1" table:default-cell-style-name="Default" />
- <table:table-row table:style-name="ro1">
- <table:table-cell office:value-type="string">
  <text:p>A</text:p>
Muss ich mich da komplett durchhangeln, oder kann ich das jvsimplexml auch suchen lassen nach "text:p"-elementen?

SteffenSchm 1. Aug 2006 12:21

Re: XML mit TJvSimpleXml
 
@Yankee:
Danke für das Tutorial. Hat mir sehr wweitergeholfen!

Ein Frage - du schreibst
Zitat:

Wenn man bei dem Add-Befehl die Klammer öffnet, kommt einem diekt die DelphiIDE zur Hilfe und sagt einem, welche Werte man dieser function übergeben kann. Und sofort fällt auf, dass diese function gleich ganz häufig überladen ist. Man kann so auch gleich float oder integerwerte übergeben.
Ich habe aber keine überladene Version von Add gefunden, die einen Float-Wert ausgibt. Man könnte natürlich selbst immer in einen String hin- und zurückkonvertieren. Aber bestimmt gibt es eine bessere Möglichkeit. Wie macht man das am besten?

yankee 3. Okt 2006 19:54

Re: XML mit TJvSimpleXml
 
Zitat:

Zitat von SteffenSchm
Ich habe aber keine überladene Version von Add gefunden, die einen Float-Wert ausgibt. Man könnte natürlich selbst immer in einen String hin- und zurückkonvertieren. Aber bestimmt gibt es eine bessere Möglichkeit. Wie macht man das am besten?

Erstmal sry, dass ich erst jetzt antworte...
Ich bekomme auf diesen Thread von der DP nie eine Benachrichtigungsmail und das war jetzt gerade reiner Zufall, das ich Antworten gefunden habe :-(.

Ich glaube nicht, dass es eine bessere Möglichkeit gibt. jvcl kann schliesslich am Ende auch nichts anderes machen als mit strtofloat die Daten zu konvertieren. Es geht höchstesn eleganter, aber nicht performanter oder irgendsowas.

@DGL-luke:
Eine Suchfunktion wäre mir neu. Du musst dir also selbst eine Suchroutine schreiben.
Wie gesagt es ist eine simplexml-Komponente, die entsprechend einfach ist.
Um solch komplexe Sachen zu parsen ist eventuell ein komplexerer Parser emphelenswerter...

elundril 23. Jun 2007 17:55

Re: XML mit TJvSimpleXml
 
hallo! ich fand dein tutorial recht gut nur eine anmerkung hab ich!

wenn man am formular dieses Ding hat und man speichert die XML datei und will nachher noch einmal speicher sollte man die vorher gespeicherten daten mit

XMLDoc.Data:=''

verwerfen sonst wird alles doppelt geschrieben!

dabei hab ich auch gleich ein bitte: vielleicht kannst du mir bei dem Problem weiterhelfen:

http://www.delphi-forum.de/viewtopic...958&highlight=



lg elundril

WizoHulk 3. Mai 2011 20:28

AW: XML mit TJvSimpleXml
 
hallo..

auch wenn der Thread ja doch ziemlich alt ist vileicht bekommt man ja doch noch eine Antwort.

Wie kann ich in einen vorhandenen Root einen Wert eingeben.
Da die Funktion Add nur hinzufügt.

ConnorMcLeod 4. Mai 2011 10:32

AW: XML mit TJvSimpleXml
 
Ungefähr so?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  lXML      : TJvSimpleXML;
begin
  lXML := TJvSimpleXML.Create(nil);
  try
    lXML.Root.Name := 'myroot';
    lXML.Root.Value := 'blah';
  finally
    FreeAndNil(lXML);
  end;
end;

WizoHulk 5. Mai 2011 17:17

AW: XML mit TJvSimpleXml
 
ich glaub ich habe mich etwas falsch ausgedrückt.

ich habe einen Knoten unter Root und in diesen Knoten möchte ich einen Wert zuweisen.

haentschman 5. Mai 2011 18:11

AW: XML mit TJvSimpleXml
 
Hallo...

die "Unterknoten" erreichst du über Items bzw Item jeweils über den Index z.B. ItemNamed gibt es auch noch...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.
Seite 3 von 5     123 45      

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