Geht auch nicht direkt. Aber nutze einen Wrapper, das ist relativ einfach.
Delphi-Quellcode:
type
TNodeData = class
private
FXMLNode: IXMLDOMNode;
public
constructor Create(aXMLNode:IXMLDOMNode);
property XMLNode: IXMLDOMNode read FXMLNode;
end;
....
var
TreeNode: TTreeNode;
xmlNode: IXMLDOMElement;
{ Einlesen in TreeView }
for I := 0 to xmlNode.childNodes.length-1 do begin
TreeNode := Tree.Items.AddChild(NIL, (xmlNode.childNodes[I] as IXMLDOMElement).getAttribute(AttrName));
TreeNode.Data := TNodeData.Create(xmlNode.childNodes[I]);
{ Auslesen aus TreeView }
xmlNode := TNodeData(Node.Data).XMLNode;
Aber nicht vergessen die Klasse später wieder freizugeben
...
...