Thema: Delphi mit Attributen arbeiten

Einzelnen Beitrag anzeigen

billi

Registriert seit: 11. Sep 2003
Ort: Darmstadt
127 Beiträge
 
Delphi 5 Standard
 
#1

mit Attributen arbeiten

  Alt 2. Okt 2003, 15:04
Hallo,
kann leider keine der in der Microsoft Hilfe zu MSXML verwendeten Programmiersprachen, dementsprechend kann ich mit den dort gegebenen Lösungen leider wenig anfangen.

Das ist mein aktueller Code:
Code:
procedure TFmain.Bstandart_speichernClick(Sender: TObject);
var
index: integer;
newBild, newThema: IXMLDOMNode;
newSub: IXMLDOMNode;
begin
xmlDoc := CoDOMDocument40.Create;
xmlDoc.setProperty('NewParser', true);
if not FileExists(fAppPath + DATABASE_FNAME) then begin
xmlDoc.loadXML('<?xml version="1.0" encoding="ISO-8859-1"?><bilderdatenbank></bilderdatenbank>');
xmldoc.save(fAppPath + DATABASE_FNAME);
end else
xmlDoc.load(fAppPath + DATABASE_FNAME);
if xmlDoc.parseError.errorCode <> 0 then begin
MessageDlg('Die XML-Datei ist nicht korrekt!' + #13#10
+'Der MovieOrganizer wird nun beendet.',
mtError, [mbOK], 0);
Application.Terminate;
if xmlDoc.documentElement.nodeName <> 'bilderdatenbank' then
Application.Terminate;
end;
newThema := xmlDoc.createElement('Thema');
xmlDoc.documentElement.appendChild(newThema);
for index := 0 to ListBox1.Items.Count -1 do
begin
newBild := xmlDoc.createElement('Bild');

newSub := xmlDoc.createElement('name');
newSub.text := ListBox1.Items.Strings[Index];
newBild.appendChild(newSub);

newSub := xmlDoc.createElement('text');
newSub.text := atext;
newBild.appendChild(newSub);

newThema.appendChild(newBild);
end;
xmlDoc.documentElement.appendChild(newThema);
xmlDoc.save(fAppPath + DATABASE_FNAME);
end;
(man kann sehen, ein ganz bestimmtes Tut ist Pate gewesen )

Das würde in etwa das erzeugen (nur ohne die Schleifenausgabe...):

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<bilderdatenbank>
 <Thema>
  <Bild>
   <name>noch 1 tage</name>
   <text>dsrg</text>
  </Bild>
 </Thema>
</bilderdatenbank>
Jetzt würd ich gerne den Themanode mit einem Attribut versehen: name="xyz"
Wie muss ich das anstellen und wie arbeite (z.B. auslesen oder alle themanods mit dem Attribut name="xyz" suchen...)ich später damit?

vielen Dank,
billi
  Mit Zitat antworten Zitat