Hallo zusammen,
bin neue in diesen Forum und habe gleich eine Frage.
Wie kann ich DTD-Zeile in eine neu erstellte
XML-Datei einfügen?
Ich arbeite mit
RAD Studio 2007 und
MSXML.
Meine
XML-Dateien habe ich bereits erstellt, mir fehlt noch DTD.
Ich habe viele Beiträge in diesen Forum gelesen und viele nutzlilche Tipps
gefunden und benutzt.
In google habe ich auch gesucht,
aber ich komme nicht weiter und hoffe, dass Ihr mir helfen könnt.
So erstelle ich meine
XML-Datei:
Delphi-Quellcode:
var
rootnode : XMLIntf.IXmlNode;
ChildNode : XMLIntf.IXmlNode;
begin
xmlLDoc := XMLDoc.TXmlDocument.Create(nil);
xmlDoc.ParseOptions := [];
xmlDoc.Active := true;
xmlDoc.Version := '1.0';
xmlDoc.Encoding := 'iso-8859-1';
xmlDoc.NodeIndentStr := ' ';
xmlDoc.Options := [doNodeAutoIndent];
try
rootnode := FXMLDoc.CreateElement('TT', '');
xmlDoc.DocumentElement := rootnode;
ChildNode := AddNode(xmlDoc, rootnode, ntElement, 'version', '');
ChildNode.Attributes['number'] := '10';
usw.
-------------------------------------------------
function TXMLData.AddNode(aXMLDoc: XMLDoc.TXMLDocument;
aParent: XMLIntf.IXmlNode; NodeType: XMLIntf.TNodeType; sNodename,
sNodeText: String): XMLIntf.IXmlNode;
begin
Result := xmlDoc.CreateNode(sNodename, NodeType);
if Trim(sNodeText) <> '' then
begin
case NodeType of
ntElement: Result.Text := sNodeText;
ntDocType: Result.Text := sNodeText;
end;
end;
if aParent <> nil then
aParent.ChildNodes.Add(Result)
else
xmlDoc.ChildNodes.Add(Result);
end;
wenn ich die Funktion AddNode mit 'ntDocType' zum einfügegn der DTD nutze gibt es
keine Fehlermeldung, die Zeile wird aber in
XML-Datei nicht angezeigt.
MfG
jacobi1880