AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XML Zeilenumbruch

Ein Thema von GericasS · begonnen am 30. Aug 2010 · letzter Beitrag vom 30. Aug 2010
Antwort Antwort
GericasS

Registriert seit: 13. Feb 2008
27 Beiträge
 
#1

XML Zeilenumbruch

  Alt 30. Aug 2010, 15:41
Folgender Code :

Delphi-Quellcode:

  foDoc: IXMLDOMDocument;
  foFind: IXMLDOMNode;
  foNew: IXMLDOMNode;
  foAttr: IXMLDOMNode;
  FoFiles: TStringList;

begin

    GetFilesInDirectory(fsSearchDir, fsFileMask, FoFiles, fiSubfolder = 1);

    try
      CoInitialize(Nil);
      foDoc := CoDOMDocument.Create;
      foDoc.async := False;
      if foDoc.load(FoFiles.Strings[0]) then
      begin
        foFind := foDoc.documentElement.selectSingleNode(fsFindNode);
        if Assigned(foFind) then
        begin
          Writeln(foFind.text);
          fsSnippet1 := copy(foFind.text, fiExtract11, fiExtract12);
          fsSnippet2 := copy(foFind.text, fiExtract21, fiExtract22);
          fsTag := fsSnippet1 + fsDelimiter + fsSnippet2;
          foFind := foDoc.documentElement.selectSingleNode(fsSaveNode);
          if Assigned(foFind) then
          begin
            foNew := foDoc.createNode(1, fsNodeName, '');
            foNew.text := fsTag;
            foAttr := foDoc.createNode(2, 'name', '');
            foAttr.text := fsNodeAttribut;
            foNew.attributes.setNamedItem(foAttr);
            foFind.appendChild(foNew);
            foDoc.save(FoFiles.Strings[0]);
          end;
        end;
      end
      else
      begin
        Writeln('fehler');
        Readln;
      end;
      // foDoc._Release;
      // CoUninitialize;
    except
      on E: Exception do
      begin
        Writeln(E.ClassName, ': ', E.Message);
      end;
    end;
    FreeandNil(Foini);
    FoFiles.Free;
end.
Wie bekomme ich hinter dem neue erstellen Knoten einen Zeilenumbruch realisiert ?

Mfg,

GericasS
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.603 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: XML Zeilenumbruch

  Alt 30. Aug 2010, 15:48
k.A. wie man hier die Optionen setzen kann,
aber beim IXMLDocument, aus der Unit XMLIntf, kann man über .Options die Option doNodeAutoIndent setzen.

Und falls du dann doch ein IXMLDOMDocument benötigst, dann kommst du über .DOMDocument da ran.


PS: Man ruft ._Release nicht einfach so auf
stattdessen wäre ein :=nil; besser geeignet, denn so wie du es damit machen würdes, wird diese Interfacereferenz einmal zuviel freigegeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (30. Aug 2010 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf