Ich will hier meine Frage noch mal explizit von dem ShellListview Problem losgelöst stellen: Wie finde ich heraus, ob ein bestimmter Knoten, in meinem Fall der Root-Knoten, in einem
XML Dokument existiert? Hintergrund ist der, ich will mit meinem Programm nur
XML Dateien öffnen, die auch von meinem Programm sind, weil mit anderen kann mein Programm nichts anfangen.
Bisher habe ich so was:
Delphi-Quellcode:
var
XMLDoc : DomDocument;
Node : IXMLDOMNode;
begin
Result := False;
CoInitialize(nil);
XMLDoc := CoFreeThreadedDOMDocument.Create;
if Assigned(XMLDoc) then
begin
XMLDoc.load(Filename);
try
Node := XMLDoc.selectSingleNode('/dwfbtemplate/');
except
Result := Assigned(Node);
end;
end;
CoUninitialize;
Und die passende
XML-Datei dazu:
XML-Code:
<?
xml version="1.0" encoding="ISO-8859-1" ?>
<dwfbtemplate>
<info>
<author>Michael Puff</author>
<description>Nur zum Testen, sonst nichts.</description>
</info>
<layers>
<layer x="105" y="80" w="532" h="400" />
<layer x="212" y="560" w="345" h="480" />
</layers>
<textobjects>
<textobject x="268" y="484" w="212" h="80" />
</textobjects>
</dwfbtemplate>
Leider liefert mir mein Code immer
False zurück.