function XMLGetSoftwareItems: TSoftwareItems;
// Gibt eine Liste der zu installierenden Software und deren Status
// für die grafische Aufbereitung zurück.
var
XMLColl : IXMLDOMDocument2;
XMLNodes : IXMLDOMNodeList;
XMLNode : IXMLDOMNode;
i, err : Integer;
s :
String;
begin
XMLColl := CoDOMDocument30.Create;
XMLColl.load( XMLFilename );
err := XMLColl.parseError.errorCode;
if err = 0
then
begin
XMLNodes := XMLColl.documentElement.selectNodes('
setup');
for i := 0
to XMLNodes.length -1
do
begin
XMLNode := XMLNodes.item[i];
SetLength(Result, XMLNodes.length);
Result[i].Status := StrToInstStatus(XMLNode.selectSingleNode('
InstStatus').text);
Result[i].Text := XMLNode.selectSingleNode('
name').text;
Result[i].ID := StrToIntDef(XMLNode.selectSingleNode('
id').text, 0);
end;
end else
begin
Log(Format('
In "XMLGetSoftwareItems" ist die Analyse der XML-Datei "%s" ist fehlgeschlagen:', [XMLFilename]), etError);
Log(Format('
%s', [XMLColl.parseError.reason]));
end;
end;