AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

in XML reinschreiben...

Ein Thema von spacewolf · begonnen am 11. Apr 2006 · letzter Beitrag vom 18. Apr 2006
Antwort Antwort
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

in XML reinschreiben...

  Alt 11. Apr 2006, 22:44
Moin jetzt hab ich es geschaft XML auszulesen und in eine Datenbank zu speichern, nun will ich aber in eine schon bestehende XML-Datei reinschreiben. (von OpenOFfice)

Die ist folgendermaßen aufgebaut:
XML-Code:
<block-list:block-list>
-<block-list:block block-list:abbreviated-name="(c)" block-list:name="©"/>
-<block-list:block block-list:abbreviated-name="(r)" block-list:name="®"/>
-<block-list:block block-list:abbreviated-name="Accesoir" block-list:name="Accesoire"/>


Ich habe mir das folgendermaßen gedacht:
Delphi-Quellcode:
procedure WriteOOAutoKorrekt(AOwner:TComponent);
var
  kn, knSequ : integer;
  knoten, element : IDOMNode; //atname, cardAtName//SequKnoten, //cardElement,
  value1, value2 : string;
  stream : TStream;

  XMLDoc : TXMLDocument;

  newChild, newNode : IDOMNode;
begin
 XMLDoc := TXMLDocument.Create(AOwner);

 newChild.???
 newChild.nodeName := 'neuerTest';
 newNode.nodeValue := 'neuerTest222';

 XMLDoc.LoadFromFile('c:\test.xml');
 XMLDoc.DocumentElement.DOMNode.ChildNodes.length;
 XMLDoc.DocumentElement.DOMNode.insertBefore(newNode,newChild);
 XMLDoc.AddChild('test','test');
 XMLDoc.SaveToFile('c:\test2.xml');
end;
Aber so richtig weiter komm ich nicht...



Wie gehts weiter wenn ich da einen neuen Eintrag reinschreiben will.

danke für alle Gedanken

euer Andreas

PS: es geht darum die Autokorrektur von OpenOffice auszulesen
und serverbasierend zu speichern.
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#2

ähm...

  Alt 12. Apr 2006, 14:32
falls da keiner durchblickt, das ist nur son Sourceschnipsel...
damit man erkennt welche Objekte ich bisher beim auslesen verwendet habe *hüstel*

hab das Netz abgegraßt nach Tutorials um zu schauen wie ich da wat schreibe,
aber alles was ich fand wirkte hochkompliziert... Hab da sozusagen nix gecheggt...

dabei will ich doch nur n Element schreiben

der Andreas
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#3

Tagebucheintrag

  Alt 14. Apr 2006, 16:03
eine etwas andere Herangehensweise...

Delphi-Quellcode:
procedure XMLAdd;
var
  XMLDoc : TXMLDocument;
  iNode : XMLNode;
begin
  XMLDoc := TXMLDocument.Create(nil);
  XMLDoc.LoadFromFile('c:\test.xml');

  iNode := XMLDoc.CreateNode('test'); // AddChild('tree2xml');

  iNode.AddChild('einitem');
  iNode.Attributes['text'] := 'der text';
  iNode.Attributes['imageIndex'] := 'einindex';
  iNode.Attributes['stateIndex'] := 'einstatus';

  //will leider DOMNode: XMLDoc.DocumentElement.DOMNode.appendChild(iNode);

  XMLDoc.SaveToFile('c:\neutest.xml');

  XMLDoc := nil;
end;
aber geht auch net

Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: in XML reinschreiben...

  Alt 14. Apr 2006, 17:19
Hallo Andreas,

wenn block-list das Wurzel-Element des Dokuments ist, dann kannst du so einen zusätzlichen Knoten hinten anfügen:

Delphi-Quellcode:
procedure TDemoForm.AddButtonClick(Sender: TObject);
var
  xn: IXMLNode;
begin
  with XMLDocument do
  begin
    xn := DocumentElement.AddChild('block-list:block', '');
    xn.Attributes['block-list:abbreviated-name'] := 'mfg';
    xn.Attributes['block-list:name'] := 'Mit freundlichen Grüßen';
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#5

uii...

  Alt 18. Apr 2006, 14:57
Super,

DANKE !!!


Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 16:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz