Einzelnen Beitrag anzeigen

Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

Exception beim Zugriff auf ersten XML Knoten

  Alt 6. Sep 2012, 21:02
Hallo,

ich befürchte fast ja das meine Frage breits eine Lösung gefunden hat, konnte hier im Forum aber keinen passende Eintrag finden.

Nun denn.
Ich versuche eine XML Datei einzulesen um ein paar Werte zu ermitteln.
Dabei lande ich immer in einer Exception.

Hier meine XML Datei
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
<AssemblyInfo>
    <Firmware>
        <Info Name="VE E01H0001" Version="02.08.00.01" Date="18.06.2012" />
    </Firmware>
    <SystemInfo>  
        <Info Name="Datenträger 1 (Storage Card)" />
        <Info Name="Gesamt/Freier Speicher" Var="124140 / 105550 KB" />
        <Info Name="Ethernet-Schnittstelle ETH01" />
        <Info Name="Geschwindigkeit" Var="100 MBit/s" />
    </SystemInfo>
</AssemblyInfo>
Mein bisheriger Code dazu
Delphi-Quellcode:
procedure SetContentForTabSheetAssemblyInfo;
var XmlDoc : TXMLDocument ;
    RootNode : IXMLNode ;
    Firmware : IXMLNode ;
    InfoNode : IXMLNode ;
    xmlFileName, xmlValueName, xmlValueVersion, xmlValueDate : string ;
    XmlDocIsEmpty : boolean;
begin
  XmlDoc := TXMLDocument.Create (nil);
  xmlFileName := currentPathWithArchiveContent + '\' + sZipFileXmlFolder + '\' + aZipFileSrvXmlFiles[0];
  if (FileExists(xmlFileName) = true) then
    begin
      XmlDoc.LoadFromFile(xmlFileName);
      XmlDoc.Active := true ;

      if (XmlDoc.IsEmptyDoc = false) then
       begin
                      // Hier bekomme ich immer eine Exception (Ungültige Zeigeroperation)
          RootNode := XmlDoc.DocumentElement.ChildNodes.Nodes['AssemblyInfo'];

          Firmware := RootNode.ChildNodes.Nodes[0];
          InfoNode := Firmware.ChildNodes.Nodes[0];

          xmlValueName := InfoNode.ChildValues['Name'];
          xmlValueVersion := InfoNode.ChildValues['Version'];
          xmlValueDate := InfoNode.ChildValues['Date'];

       end;

       XmlDoc.Free;
    end;
end;
Ich hoffe es hat jemand eine Idee dazu.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat