Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi msxml attribut setzen (https://www.delphipraxis.net/49544-msxml-attribut-setzen.html)

ch33seburger 12. Jul 2005 18:56


msxml attribut setzen
 
hi :)

kann mir vielleicht jemand verraten wie ich bei msxml ein Attribut setzen kann?
ich habs jetz schon einige male probiert, bekomme aber jedesmal ne fehlermeldung :/
Code:
procedure TForm5.Button2Click(Sender: TObject);
var
newmovie, newsub: IXMLDOMNode;
begin
newMovie := xmlDoc.createElement(combobox1.text);
newSub := xmlDoc.createElement('b1'); //hierfür will ich noch nen attribut: namens "text" mit dem werd edit2.text
newSub.text := Edit1.Text;
newMovie.appendChild(newSub);
xmlDoc.documentElement.appendChild(newMovie);
xmlDoc.save(xfile);
end;
vielen dank

marabu 12. Jul 2005 19:02

Re: msxml attribut setzen
 
Delphi-Quellcode:
procedure TForm5.Button2Click(Sender: TObject);
var
  newmovie, newsub: IXMLDOMNode;
begin
  ...
  newSub := xmlDoc.createElement('b1');
  with newSub as IXMLDOMElement do        // das macht es einfacher
    setAttribute('text', edit2.text);
  newSub.text := Edit1.Text;
  ...
end;
Grüße vom marabu

ch33seburger 12. Jul 2005 19:14

Re: msxml attribut setzen
 
vielen dank!
es klappt super :D

ch33seburger 12. Jul 2005 20:51

Re: msxml attribut setzen
 
kann mir jetz noch jemand sagen wie ich an die childnodes vom buttonset ran komme?
also sodass ich alle childnodes in einer combobox auflisten kann

Delphi-Quellcode:
node := xmlDoc.documentElement.selectSingleNode('/buttonset/');
//Hiervon brauche ich alle childnodes :/
und wie kann ich prüfen ob ein childnode bereits existiert?

marabu 12. Jul 2005 21:00

Re: msxml attribut setzen
 
Ungefähr so sollte es gehen:

Delphi-Quellcode:
var
  n, node: IXMLDOMNode;
  nl: IXMLDOMNodeList;
  i: integer;
begin
  node := xmlDoc.documentElement.selectSingleNode('/buttonset/');
  nl := node.childNodes;
  ComboBox.Clear;
  for i := 0 to nl.length - 1 do begin
    n := nl[i];
    ComboBox.Items.Add(n.tagName);
  end;
end;
Grüße vom marabu

MathiasSimmack 12. Jul 2005 21:02

Re: msxml attribut setzen
 
1. Zum Thema: untergeordnete Knoten: MSDN-Library durchsuchenIXMLDOMNode.childNodes

2. Wenn der Knoten existiert und per "selectSingleNode" gefunden wurde, dann ist node nicht nil. :lol: Geiler Satz.

ch33seburger 12. Jul 2005 21:32

Re: msxml attribut setzen
 
vielen vielen dank!!
hat wiedermal alles sofort geklappt :))

danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz