Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Knoten finden (https://www.delphipraxis.net/135979-knoten-finden.html)

himitsu 21. Jun 2009 16:30

Re: Knoten finden
 
Zitat:

Zitat von Blackbird001
Und was ist wenn der Knoten nicht vorhanden ist?

dann kann er nicht gefunden werden? :gruebel:

Zitat:

Zitat von Blackbird001
Und was bedeuten die beiden // bei BankAccounts?

http://de.wikipedia.org/wiki/XPath

Blackbird001 21. Jun 2009 16:34

Re: Knoten finden
 
Nein ich dachte es wird eine Exception ausgelöst.

Ist das in Delphie 7 alles schon von Grund auf vorhanden und benutzbar?

Ich hoffe die Frage klingt nicht zu dumm.

Werden auch die Elemente gefunden die auch unter dem Knoten aber auch unter dem Kindknoten befinden?

Blackbird001 21. Jun 2009 16:57

Re: Knoten finden
 
Ist in deinem Code NodeList ein IXMLNodeList

und was muss ich einbinden um es so nutzen zu können.

Bei funktioniert es so nicht.


// nodelist ist undefiniert kommt als Fehler
// elementnode ist undefiniert
nodelist := document.SelectNodes('//Article'); // findet all Elemente <BankAccounts>, egal auf welcher Ebene sie sind
for i := 0 to nodelist.length-1 do
begin
elementnode := nodelist.Item[i] as IXMLDOMelement;
text := elementnode.GetAttribute('id');
end;

Bitte um kurze Hilfe zu dem Beispielcode

himitsu 21. Jun 2009 17:07

Re: Knoten finden
 
Delphi-Quellcode:
Knotenliste.Nodes[1].ChildNodes
also wenn Nodes[1] nichts findet, dann kommt es auf die Einstellungen an
- ist eine Option als "nodes-auto-create" gesetzt ist, dann wird der Koten erstellt
- ist sowas nicht aktiv, dann gibt es eine exception, wenn versucht wird auf das Ergbnis (meißtens eine NIL-Referenz) zuzugreifen und davon etwas aufzurufen (hier .ChildNodes)

soweit ich das mit XPath versanden hab, dann kann man damit auch global suchen, also auch in Kindknoten.

Blackbird001 21. Jun 2009 17:11

Re: Knoten finden
 
Danke für deine tolle Hilfe. Nur kann ich dein Source Beispiel nicht nach vollziehen, vielleicht muss ich noch etwas einbinden um es nutzen zu können. Wäre toll wenn du es mir als Unit geben könntest damit ich sehe was ich einbinden muss um es so nutzen zu können. Hört sich nähmlich gut an und würde mir einige Zeilen an Code ersparen.
Brauch ich dazu irgendwelche Komponenten? Benutze Delphie 7 Enterprise

Und es soll kein Knoten erstellt werden, immer nur ausgelesen aus dem Dokument da ich den Text in den Attributen in eine DB übertragen will.

Blackbird001 22. Jun 2009 09:23

Re: Knoten finden
 
Hallo und guten morgen.

Ich kann dieses TDOM nicht nutzen da es in meinem Delphie nicht integriert ist gibt es zu meinem Problem noch eine andere Möglichkeit?

Vielen Dank

himitsu 22. Jun 2009 09:34

Re: Knoten finden
 
Welches Delphi hast denn?

Es sollte sich eigentlich überall einbinden lassen (nur in TDE ist das importieren wohl nicht so leicht möglich, aber da ist es vermutlich eh immer schon drin)

Oder such mal nach OmniXML.
(bei SimpleXML, ThaXML, JvSimpleXml, JclSimpleXml, muetze1's xmllib, meinem himXML und vielen anderen ist XPath so ja noch nicht enthalten)

Blackbird001 22. Jun 2009 09:51

Re: Knoten finden
 
Habe Delphie 7 Enterpriese


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Seite 2 von 2     12   

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