Thema: Delphi XML Dateien auslesen

Einzelnen Beitrag anzeigen

Centrii

Registriert seit: 18. Mai 2007
Ort: FDS
108 Beiträge
 
Delphi 2006 Architect
 
#2

Re: XML Dateien auslesen

  Alt 16. Apr 2008, 07:54
Hallo Christian,

das JvSimpleXML kenne ich nicht, aber du musst deine Childs durchgehen und dann die Attribute, bzw. Values abfragen.

Beispiel:
Delphi-Quellcode:
var XML : IXMLDocument;
    mNode : IXMLNode;
    eNode : IXMLNode;
    opNode : IXMLNode;
    arNode : IXMLNode;
    dNode : IXMLNode;
    sNode : IXMLNode;
    i,j,k,m,n,o,p : Integer;
begin
  XML:=NewXMLDocument;
  XML.XML.Text:=XMLCode;
  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
      eNode:=XML.ChildNodes[i].ChildNodes[j];
      if eNode.NodeName='equipmentthen begin
        for k:=0 to eNode.ChildNodes.Count-1 do
        begin
          if eNode.ChildNodes[k].NodeName='elementsthen
          begin
            for m:=0 to eNode.ChildNodes[k].ChildNodes.count-1 do
            begin
              mNode:=eNode.ChildNodes[k].ChildNodes[m];
              for n:=0 to mNode.ChildNodes.count-1 do
              begin
                if mNode.ChildNodes[n].NodeName='subsystemthen
                begin
                  for o:=0 to mNode.ChildNodes[n].ChildNodes.Count-1 do
                  begin
                    dNode:=mNode.ChildNodes[n].ChildNodes[o];
                    for p:=0 to dNode.ChildNodes.Count-1 do
                    begin
                      sNode:=dNode.ChildNodes[p];
                      if sNode.Attributes['areasigtype'] = '12then
                      begin
                        if ((sNode.Attributes['signalcode'] = 'X') and (sNode.Attributes['replacetag'] = '')) then
                        begin

                        end;
                      end;
                    end;
                  end;
                end;
              end;
            end;
          end;
        end;
      end;
    end;
  end;
end;
nur als Beispiel, musst halt auf deine Bedürfnisse umbauen...

Gruß Ruben
Ruben
Theorie ist, wenn man alles weiss, aber nichts funktioniert. Praxis ist, wenn alles funktioniert und keiner weiss warum
  Mit Zitat antworten Zitat