谢谢

解决方案 »

  1.   

    //参考如下代码~~
    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
      vTreeNode: TTreeNode;
    begin
      Memo1.Clear;
      Memo1.Lines.Add('<?xml version="1.0" encoding="GB2312"?>');
      Memo1.Lines.Add('<TreeView>');
      for I := 0 to TreeView1.Items.Count - 1 do begin
        vTreeNode := TreeView1.Items[I];    if vTreeNode.HasChildren then
          Memo1.Lines.Add(Format('%s<TreeNode Text=%s>',
            [StringOfChar(#9, vTreeNode.Level + 1), QuotedStr(vTreeNode.Text)]))
        else Memo1.Lines.Add(Format('%s<TreeNode Text=%s/>',
          [StringOfChar(#9, vTreeNode.Level + 1), QuotedStr(vTreeNode.Text)]));    if not vTreeNode.HasChildren then
          while Assigned(vTreeNode) do begin
            if (vTreeNode.Level > 0) and (vTreeNode.getNextSibling = nil) then
              Memo1.Lines.Add(Format('%s</TreeNode>',
                [StringOfChar(#9, vTreeNode.Level)]))
            else Break;
            vTreeNode := vTreeNode.Parent;
          end;
      end;
      Memo1.Lines.Add('</TreeView>');
    end;