function TForm1.parseXMLFile(sDateiname: OleVariant): Boolean;
var
xmlDoc: IXMLDOMDocument2;
node: IXMLDOMNode;
nodes: IXMLDOMNodeList;
i: Integer;
sOleFilename: OleVariant;
begin
Result := FALSE;
case XML_VERSION of
26: xmlDoc := CoDOMDocument26.Create;
30: xmlDoc := CoDOMDocument30.Create;
40: xmlDoc := CoDOMDocument40.Create;
end;
//xmlDoc.setProperty('NewParser', true); //--> ab 4.0 Version!
xmlDoc.validateOnParse := False;
xmlDoc.resolveExternals := False;
xmlDoc.async := False;
xmlDoc.preserveWhiteSpace := False;
// prüfen ob
XML-File vorhanden:
if not xmlDoc.load(sDateiname) then
begin
MessageDlg('
XML-Datei nicht vorhanden!', mtWarning, [mbOK], 0);
exit;
end;
// prüfen ob
XML-File "wohlgeformt" ist:
If xmlDoc.parseerror.errorCode <> 0 then
begin
MessageDlg( '
XML-Datei ' + sDateiname +
' ist nicht wohlgeformt --> Abbruch',
mtWarning, [mbOK], 0);
Exit;
end;
try
// Auflistung einer NodeListim Memo3: --------------------------------------
nodes := xmlDoc.documentElement.selectNodes('//Bewerbung[0]/*');
node := xmlDoc.selectSingleNode('//Bewerbung[0]/*');
for i:=0 to nodes.length-1 do
begin
if (node <> nil) then
begin
node := nodes.nextNode;
Memo3.Lines.Add(node.Get_nodeName + #9 + node.Get_text);
end;
end;
Memo3.Lines.Add('----------------------------------------');
Result := TRUE;
except
;
end;
end;