Hallo,
das mit den Attributen habe ich jetzt anders geregelt
XML-Code:
<cdorganizer>
<cd>
<cdid>1</cdid>
<cdtitel>testtitel1</cdtitel>
<interpret>testinterpret1</interpret>
<genre>testgenre1</genre>
<track>
<trackid>1</trackid>
<tracktitel>track 1</tracktitel>
<dauer>3:11:07</dauer>
</track>
</cd>
</cdorganizer>
mit
Code:
tracks := XMLDoc.documentElement.selectNodes('cd['+ IntToStr(globAktCDID) +']/track');
bekomme ich die Tracks, aber auch nur weil zufällig die cdid mit der Reihenfolge in der
XML-Datei übereinstimmt.
Ich bin in der
MSXML-Hilfe nicht fündig geworden, wie ich attribute setzen kann.
Bei
Delphi-Quellcode:
procedure TfrmCD.btnOKClick(Sender: TObject);
var
newsub,
newcd : IXMLDOMNode;
newattribute : IXMLDOMAttribute;
begin
newattribute := frmMain.xmlDoc.createAttribute('id');
newattribute.value := '1';
newcd := frmMain.xmlDoc.createElement('cd').setAttributeNode(newattribute);
newsub := frmMain.xmlDoc.createElement('cdid');
newsub.text := IntToStr(frmMain.strgrdCDListe.RowCount);
newcd.appendChild(newsub);
newsub := frmMain.xmlDoc.createElement('cdtitel');
newsub.text := edtTitel.Text;
newcd.appendChild(newsub);
newsub := frmMain.xmlDoc.createElement('interpret');
newsub.text := edtInterpret.Text;
newcd.appendChild(newsub);
newsub := frmMain.xmlDoc.createElement('genre');
newsub.text := edtGenre.Text;
newcd.appendChild(newsub);
frmMain.xmlDoc.documentElement.appendChild(newcd);
frmMain.xmlDoc.save(frmMain.xmlfile);
close;
end.
bekomme ich eine
Exception der Klasse EAccessViolation.