Einzelnen Beitrag anzeigen

jacobi1880

Registriert seit: 3. Jun 2008
4 Beiträge
 
Delphi XE2 Enterprise
 
#1

MSXML DTD in XML Datei einfügen

  Alt 3. Jun 2008, 14:49
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
  Mit Zitat antworten Zitat