AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML Verarbeitung variabel machen
Thema durchsuchen
Ansicht
Themen-Optionen

XML Verarbeitung variabel machen

Ein Thema von Yheeky · begonnen am 30. Apr 2008 · letzter Beitrag vom 12. Mai 2008
 
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

XML Verarbeitung variabel machen

  Alt 30. Apr 2008, 08:09
Hey,

ich habe vor einiger Zeit schonmal eine Frage gestellt, wie ich ein XML Dokument auslese.

Nun habe ich nochmal eine erweiterte Frage:

Mit diesem Code erhalte ich meine notwendigen Daten:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var xml : TXMLDocument;
    CNode : IXMLNode;
    CdNode : IXMLNode;
    PNode : IXMLNode;
    i,j,k : Integer;

begin
XML := TXMLDocument.Create(nil);
XML.XML.Text := Memo1.Lines.Text;
XML.Options := [doNodeAutoCreate,doAutoSave];
XML.Active:=true;

for i:=0 to XML.ChildNodes.Count-1 do
  begin
    for j:=0 to XML.ChildNodes[i].ChildNodes.Count-1 do
    begin
      CdNode:=XML.ChildNodes[i].ChildNodes[j];
      if CdNode.NodeName='computerdatenthen begin
        for k:=0 to CdNode.ChildNodes.Count-1 do
        begin
          PNode:=CdNode.ChildNodes[k];
          if PNode.NodeName='mainboardthen ShowMessage(PNode.NodeValue); // deine Variable

        end;
      end;
    end;
  end;

end;
...aber durch die beiden for-Schleifen, bin ich auf folgende Struktur angewiesen:

XML-Code:
<computer>
   <computerdaten>
      <mainboard>Asus</mainboard>
      <cpu>Athlon X2 6000+</cpu>
      <ram>2 GB</ram>
      <festplatte>160 GB</festplatte>
   </computerdaten>
   <computerdaten>
      <mainboard>MSI</mainboard>
      <cpu>Intel QuadCore</cpu>
      <ram>4 GB</ram>
      <festplatte>500 GB</festplatte>
   </computerdaten>
</computer>
Eine Struktur wie diese hier funktioniert da nicht:
XML-Code:
<computer>
   <computerdaten>
      <gehaeuse>
         <mainboard>Asus</mainboard>
         <cpu>Athlon X2 6000+</cpu>
         <ram>2 GB</ram>
         <festplatte>160 GB</festplatte>
      </gehaeuse>
   </computerdaten>
   <computerdaten>
      <gehaeuse>
         <mainboard>MSI</mainboard>
         <cpu>Intel QuadCore</cpu>
         <ram>4 GB</ram>
         <festplatte>500 GB</festplatte>
      </gehaeuse>
   </computerdaten>
</computer>
Wie kann ich meinen Code oben (den mit den for-Schleifen) variabel machen, dass ich auch andere Strukturen auslesen kann? Gibt doch Programme die zeigen das alles z.B. in einer TreeView an...die müssen sowas ja auch können.

Ich hoffe mir kann jemand helfen.

Danke.
  Mit Zitat antworten Zitat
 


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 01:22 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