AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Select anfragen auf XML

Ein Thema von Lun · begonnen am 21. Feb 2006 · letzter Beitrag vom 21. Feb 2006
Antwort Antwort
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#1

Select anfragen auf XML

  Alt 21. Feb 2006, 10:15
Hallo zusammen,

Ich würde gerne so eine Art Select-Abfrage aller Select blub where id == 1;
auf eine XML Datei anwenden, sofern das möglich ist. Ich habe bisher bei google und in Foren gesucht und bin dabei auf
TClientDataSet und auf XQuery gestoßen.

Naja, XQuery finde ich nicht als Komponente in meiner IDE (Delphi 2006), sofern die überhaupt da zu finden ist?
Hab dann mal nach der Komponente gesucht, hab aber nur eine für Delphi 6 gefunden und die kostet 50$. Hab mir dann erstmal die
Trial davon runtergeladen die aber nicht auf delphi 2006 läuft. Gibt es eine aktuelle Version von Xquery oder ist die vielleicht doch bei mir
untergebracht, und ich bin zu blind ;oP

Die andere Variante wäre mit TClientDataSet, wenn ich das richtig verstehe. Ist das sinnvoll und gibt es dazu konkrete Tutorials? Außer das
mit myBase?

Vielleicht gibt es auch noch ne Möglichkeit die ich noch nicht kenne, bin für alles offen ;oP


Thx schon mal im Vorraus für einen Tip.


greetz Lun
  Mit Zitat antworten Zitat
Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Select anfragen auf XML

  Alt 21. Feb 2006, 11:29
Hoffe ich habe das richtig verstanden

warum läufst du die datei nicht einfach gesuchte Childnote für gesuchte childnote ab und guckst ob der wert den du suchst drinsteht???

wäre doch ne alternative oder?

Hoffe das hilft dir
Stephie
Stephanie
  Mit Zitat antworten Zitat
Benutzerbild von Lun
Lun

Registriert seit: 4. Feb 2006
122 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Select anfragen auf XML

  Alt 21. Feb 2006, 11:42
Mein Problem ist so ähnlich wie deins, nur das zum Beispiel deine Männer alle noch ne ID haben. Sprich Uwe hat die ID 1. Also suche ich in den Childknoten id 1, wenn ich die finde dann gebe ich noch die Beschreibung zu ihm aus. Peter hat id 2 usw. Aber ich will nicht alle ausgeben sondern immer einen bestimmten der die id hat. Ansonsten habe, ich auch alles die gleichen knoten.

aber ich weiß noch nicht wie man so eine Abfrage auf XML bezieht.

greetz Lun
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#4

Re: Select anfragen auf XML

  Alt 21. Feb 2006, 11:53
Hm würde sagen XML-Datei in eine Datenbankfile einlesen (komplett), zum Beispiel DBase und da kann man mit den Standartdatasetkomponenten arbeiten. Das spart eine menge eigener Programmierarbeit.

Grüße / Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Select anfragen auf XML

  Alt 21. Feb 2006, 12:14
ClientDataSets können Daten zwar in XML speichern und daraus laden, aber falls du bereits vorhandene XML Dateien hast, nützen die dir nicht viel. ClientDataSets speichern ihre Daten in festgelegten XML Strukturen, die deine vorhandenen XML Dateien kaum erfüllen dürften. Außerdem wird diese Methode bei großen Datenmengen ziemlich lahm, da die gesamte Datei in den Speicher geladen wird.
Es bleibt dir wahrscheinlich nicht viel anderes übrig, die Datei "von Hand" zu parsen, oder dir über den Delphi Datenbindungs-Experten ne fertige Klassenstruktur anlegen zu lassen. Dann haste zwar immer noch ein bissl Arbeit, aber die macht dafür dann mehr Spaß.
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: Select anfragen auf XML

  Alt 21. Feb 2006, 12:37
Wie wäre denn Hier im Forum suchenXPath? Oder habe ich an dem Thema was falsch verstanden? Das ist dafür gedacht, Knoten anhand von bestimmten Merkmalen (u.a. bestimmte Attribute mit bestimmten Werten) zu finden. Um beim Beispiel mit den Kerlen zu bleiben
Code:
<kerle>
  <kerl name="Uwe" id="1"><description>Der Uwe</description></kerl>
  <kerl name="Peter" id="2"><description>Der Peter</description></kerl>
</kerle>
Anfrage für Peter:
Delphi-Quellcode:
singleNode := xmldoc.selectSingleNode('//kerle/kerl[@id="2"]/description');
if singleNode <> nil then ShowMessage(singleNode.text);
Anfrage für die Kerle allgemein, die ein id-Attribut haben:
Delphi-Quellcode:
nodes := xmldoc.selectNodes('//kerle/kerl[@id]/description');
if nodes.length > 0 then
  for i := 0 to nodes.length - 1 do
    ShowMessage(nodes[i].text);
Beispiel basiert auf MS-XML 4.0.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:34 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