Hallo,
ich verwende D6 und habe folgendes Problem bei der Nutzung von TXMLDocument:
Ich möchte ein XML-Dokument einlesen und anschließend prüfen, ob eine DocType-Deklaration enthalten ist. Das ist soweit erstmal kein Problem. Nun möchte ich allerdings bei einer DocType-Deklaration wissen, wie die DTD-Datei heißt um diese ebenfalls einzulesen. Dafür habe ich aber keine Eigenschaft oder Methode gefunden.
Und hier der Quelltext soweit ich gekommen bin:
Vielen Dank und viele Grüße
ich verwende D6 und habe folgendes Problem bei der Nutzung von TXMLDocument:
Ich möchte ein XML-Dokument einlesen und anschließend prüfen, ob eine DocType-Deklaration enthalten ist. Das ist soweit erstmal kein Problem. Nun möchte ich allerdings bei einer DocType-Deklaration wissen, wie die DTD-Datei heißt um diese ebenfalls einzulesen. Dafür habe ich aber keine Eigenschaft oder Methode gefunden.
Code:
<?xml version="1.0"?> <!DOCTYPE person SYSTEM "Test.dtd"> <person> <vorname></vorname> <nachname></nachname> </person>
Code:
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; DTD: TStringList; begin XMLDocument1.ParseOptions := [poResolveExternals, poValidateOnParse]; XMLDocument1.LoadFromFile('Test.xml'); for i := 0 to XMLDocument1.ChildNodes.Count - 1 do begin if XMLDocument1.ChildNodes.Nodes[i].NodeType = ntDocType then begin DTD := TStringList.Create; DTD.LoadFromFile(?); // Weiterverarbeitung DTD.Free; end; end; XMLDocument1.Active := False; end;
Comment