AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Problem mit Funktion - Knoten suchen in XML
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Funktion - Knoten suchen in XML

Ein Thema von Grolle · begonnen am 21. Aug 2008 · letzter Beitrag vom 26. Aug 2008
Antwort Antwort
Seite 1 von 2  1 2      
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Problem mit Funktion - Knoten suchen in XML

  Alt 21. Aug 2008, 09:23
Hallo,

ich habe eine Funktion, die nicht will, wie ich will:
Delphi-Quellcode:
  function searchNodes(node : IXMLNode; match : widestring) : IXMLNode;
  var
    x : integer;
  begin
    result := nil;
    if node.HasChildNodes then
    begin
      for x := 0 to node.ChildNodes.Count - 1 do
      begin
      if node.ChildNodes[x].Text = match then
        result := node.ChildNodes[x];
      end;
    end;
  end;
und wirft bei mir diese Exception:
Zitat:
Erste Gelegenheit für Exception bei $7C812AEB. Exception-Klasse EXMLDocError mit Meldung 'Element enthält keinen einzelnen Textknoten'. Prozess Project1.exe
Kann ich abfragen, ob ein Element einen Textknoten enthält?

Viele Grüße

  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 21. Aug 2008, 09:56
Warum übergibst du den Node? Du benutzt ihn ja gar nicht!

Delphi-Quellcode:
function searchNodes(node : IXMLNode; match : widestring) : IXMLNode;
var
  x : integer;
begin
  result := nil;
  if assigned(node) then
  begin
    if node.HasChildNodes then
    begin
      for x := 0 to node.ChildNodes.Count - 1 do
      begin
      if node.ChildNodes[x].Text = match then
        result := node.ChildNodes[x];
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 21. Aug 2008, 10:07
Hi,
Zitat von omata:
Warum übergibst du den Node? Du benutzt ihn ja gar nicht!
Uuups, copy&paste error. Habs oben korregiert. Leider funktioniert es immer noch
nicht (mit assigned)#?!?

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von franksreich
franksreich

Registriert seit: 7. Feb 2008
Ort: Rastede
6 Beiträge
 
Delphi 2009 Enterprise
 
#4

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 21. Aug 2008, 10:27
Hi,

ich habe mir damit geholfen den Typen auszulesen

Delphi-Quellcode:
    
  If xmlnode.HasChildNodes Then
  For n:=0 To xmlnode.ChildNodes.Count-1 Do
  Begin
    newxmlnode:=xmlnode.ChildNodes.Nodes[n];
     
    ...
    
    Case newxmlnode.NodeType Of
      ntText : Begin
                 // Funktion um ein Text-Element zu bearbeiten
               End;
      ntElement: Begin
                 End;
      ntProcessingInstr: Begin
                         End;
      ntDocType: Begin
                 End;
      ntReserved,
      ntAttribute,
      ntCData,
      ntEntityRef,
      ntEntity,
      ntComment,
      ntDocument,
      ntDocFragment,
      ntNotation : Begin
                   End;
Frank
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 09:05
Hallo,

leider bin ich noch nicht wirklich weitergekommen. Kann mir
jemand sagen, ob es einen einfachen Weg gibt von einem Knoten
einen Unterknoten mit dem Text "xyz" zu finden? Eigentlich
möchte ich nur wissen, ob ein solcher existiert.

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#6

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 10:50
Hallo,

welche XML-Bibliothek verwendest du?
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 10:52
Hi,

XMLIntf, XMLDoc -> IXMLDocument

Viele Grüße ...

  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#8

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 10:56
MS XML, TXML, OmniXML, OpenXML, SimpleXML oder noch was ganz anderes?
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 11:01
Hi,

TXML

Viele Grüße ...

// Habe gerade was entdeckt: isTextElement ... mal schauen

  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#10

Re: Problem mit Funktion - Knoten suchen in XML

  Alt 26. Aug 2008, 11:07
Hallo,

mit dieser Lib habe ich noch nicht gearbeitet, aber geh doch mal Schritt für Schritt durch alle Knoten, und lass dir den Textknoten mittels ShowMessage anzeigen. Eventuell ist das XML-Dokument nicht konform aufgebaut und wirft dadurch diesen Fehler?
  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 02:39 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