AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML2Tree: XDOM nicht vorhanden?

Ein Thema von Jazzman_Marburg · begonnen am 1. Mai 2011 · letzter Beitrag vom 1. Mai 2011
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 10:01
Hallo Gemeinde,
ich tu mich mal wieder schwer: Ich möchte gern ein XML-Document in einem TreeView anzeigen. Dabei soll die Beschriftung jedes Tree-Knotens der Inhalt eines Attributs (wenn vorhanden) des Knotens sein. Hierzu fand ich diesen vorzüglichen Code (freepascal) - der leistet aber noch ein wenig Widerstand, weil der Typ TDOMNode nicht bekannt ist.
Delphi-Quellcode:
procedure TForm1.XML2Tree(tree: TTreeView; XMLDoc: TXMLDocument);
var
  iNode: TDOMNode; // Problem: Undeklarierter Bezeichner 'TDomNode'
 
  procedure ProcessNode(Node: TDOMNode; TreeNode: TTreeNode);
  var
    cNode: TDOMNode;
  begin
    if Node = nil then Exit; // Aufhören, wenn ein Blatt erreicht ist
 
    // Einen Knoten zum Baum hinzufügen
    TreeNode := tree.Items.AddChild(TreeNode, Node.Attributes[0].NodeValue);
 
    // Zum Kindknoten weiter gehen
    cNode := Node.ChildNodes.Item[0];
 
    // Alle Kindknoten bearbeiten
    while cNode <> nil do
    begin
      ProcessNoDe(cNode, TreeNode);
      cNode := cNode.NextSibling;
    end;
  end;
 
begin
  iNode := XMLDoc.DocumentElement.ChildNodes.Item[0];
  while iNode <> nil do
  begin
    ProcessNode(iNode, nil); // Rekursiv
    iNode := iNode.NextSibling;
  end;
end;
himitsu schrieb in einem ähnlichem Beitrag genau dazu:
"TDOMNode are daclared in unit XDOM (Extended Document Object Model) or OXMLDOM (Open XML)".

Jetzt verstehe ich aber nicht die Konsequenz: Heisst das, ich kann den obigen Code nicht verwenden -- mein Delphi Starter sagt ja: TDomNode sei unbekannt.

Anders gefragt, könnte man TDomNode durch etwas entsprechendes ersetzen? In uses habe ich XMLIntf, xmldom, msxmldom stehen.

Vielen Dank im voraus!
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 11:10
Der Code ist scheinbar von hier; weiter unten ist eine komplette Unit mit allen *uses*. Dort müsste auch TDOMNode zu finden sein.
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#3

AW: XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 12:14
Der Code ist scheinbar von hier; weiter unten ist eine komplette Unit mit allen *uses*. Dort müsste auch TDOMNode zu finden sein.
Hallo.

Der Code ist nicht nur scheinbar von dort (hatte ich ja erwähnt), er ist sogar in freepascal -- und damit leider nicht lauffähig, weil mein Delphi bei den uses:
DOM, XMLWrite
aussteigt.

Dennoch Danke & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 13:51
Alles klar.

Wenn die JEDI Bilbliothek verwendbar ist, dann empfehle ich TJvSimpleXML.
Ansonst vllt. XML Parser
  Mit Zitat antworten Zitat
madtom

Registriert seit: 24. Feb 2005
Ort: Hamburg
115 Beiträge
 
Delphi XE7 Professional
 
#5

AW: XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 14:02
Hallo,

wirf mal einen Blick auf ein Programm aus "Mastering Delphi 6" von Marco Cantu:

http://code.marcocantu.com/p/marcode.../23/XmlDomTree

ich glaube, das ist das was Du suchst.

Beste Grüße

Thomas
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#6

AW: XML2Tree: XDOM nicht vorhanden?

  Alt 1. Mai 2011, 16:06
Prima,
der Hinweis auf Marcos "Mastering Delphi 6" hat geholfen.

Lieben Dank an alle!

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:14 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