Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi NodeTest expected here (https://www.delphipraxis.net/67515-nodetest-expected-here.html)

LuX2k 15. Apr 2006 21:14


NodeTest expected here
 
Hi

ich habe folgendes Problem, wenn ich versuche in der XML datei zu suchen bekomme ich die Meldung

Zitat:

Im Projekt Project1.exe ist eine Exception der Klasse EOleException aufgetreten. Meldung: 'NodeTest expected here.

/Verwaltung/Telefon/-->[<--id="1460]"/@telefonnr. Prozess wurde angehalten. Mit Einzelne Anweisungen oder Start fortsetzen.

Delphi-Quellcode:
var
i:Integer;
telenr : IXMLDOMNode;
begin
xmldoc := CODOMDocument40.Create;
xmldoc.setProperty('NewParser', true);
xmldoc.load('c:\tele.xml');

 

  for i := verlist.Items.Count-1 downto 0 do
  begin
    if verlist.Checkboxes = true then
    telenr := xmldoc.selectSingleNode('/Verwaltung/Telefon/[id="'+ verlist.Items[i].SubItems.Text +']"/@telefonnr');
       form2.ws.Lines.Add(telenr .text);
  end;
  form2.Show;
end;
Ich hab schon gesucht und mit den anderen Lösungswegen verglichen, aber irgendwie ist da kein Unterschied zu erkennen :(

die Suche nach "NodeTest expected here." bei google hat mich auch nuicht weiter gebracht.


Kann mir vielleicht jemand mitteilen wo das Problem liegt.


Ich danke vielmals


cya

Domenik

sakura 15. Apr 2006 21:17

Re: NodeTest expected here
 
Dir fehlt der Nodename für die Node, deren Attribute ID den Wert "xyz" haben soll. Ist Dir der Name nicht bekannt, nutze einen Asterisk: '/Verwaltung/Telefon/*[id="'+ verlist.Items[i].SubItems.Text +']"/@telefonnr'

...:cat:...

LuX2k 15. Apr 2006 21:33

Re: NodeTest expected here
 
Zitat:

Zitat von sakura
Dir fehlt der Nodename für die Node, deren Attribute ID den Wert "xyz" haben soll. Ist Dir der Name nicht bekannt, nutze einen Asterisk: '/Verwaltung/Telefon/*[id="'+ verlist.Items[i].SubItems.Text +']"/@telefonnr'

...:cat:...

Hi Sakura

hat leider auch nichts gebracht, die Fehlermeldung kommt wieder.
Vielleicht liegt es auch am Aufbau der XMLDatei, was ich mir zwar nicht vorstellen kann, aber vielleicht doch :-D


Zitat:

<?xml version="1.0"?>

<Verwaltung>
<Telefon id="1146" telefonnr="1406" name="Hans Wurst"/>
</Verwaltung>

sakura 15. Apr 2006 21:38

Re: NodeTest expected here
 
Zitat:

Zitat von LuX2k
hat leider auch nichts gebracht, die Fehlermeldung kommt wieder.
Vielleicht liegt es auch am Aufbau der XMLDatei, was ich mir zwar nicht vorstellen kann, aber vielleicht doch :-D

Okay, dann bleibt noch folgendes, da die Id ja Teil des Telefons ist ;) '/Verwaltung/Telefon[@id="'+ verlist.Items[i].SubItems.Text +']"/@telefonnr'

...:cat:...

LuX2k 15. Apr 2006 21:45

Re: NodeTest expected here
 
stimmt :-D hätte ich selber sehn können :wall: bzw. er ändert jetzt mal seine Fehlermeldung in

Zitat:

Expression must evaluate to a node-set
:coder2:

sakura 15. Apr 2006 21:51

Re: NodeTest expected here
 
Tausche mal das ]" miteinander aus meiner letzten Antwort :oops: :duck:

...:cat:...

LuX2k 15. Apr 2006 22:00

Re: NodeTest expected here
 
Zitat:

Zitat von sakura
Tausche mal das ]" miteinander aus meiner letzten Antwort :oops: :duck:

...:cat:...

Delphi-Quellcode:
('/Verwaltung/Telefon/[@id="'+ verlist.Items[i].SubItems.Text +'"]/@telefonnr');
dann bekomm ich ne zugriffverletzung auf
Delphi-Quellcode:
form2.ws.Lines.Add(telenr.text);

sakura 15. Apr 2006 22:02

Re: NodeTest expected here
 
Dann ist telenr nil, d.h. er hat keine passende Node gefunden.

...:cat:...

LuX2k 15. Apr 2006 22:09

Re: NodeTest expected here
 
Zitat:

Zitat von sakura
Dann ist telenr nil, d.h. er hat keine passende Node gefunden.

...:cat:...

ok ich danke dir nochmal :thumb:

werde mich mal auf die Fehlersuche machen :coder2:

ich wünsche dir noch viel Spass


:dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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