可以用delphi6自带的xmlDocument空件来作。但是未必好,<?xml version='1.0' encoding='GB2312'?>这个东西好象不太好生成。我以前做都是先写一个文本文件,写好相应的描述信息和根接点。最后再以xml保存。再用xmlDocument控件来打开这个文件进行操作。

解决方案 »

  1.   

    //建立试题xml文件的头部
    function TForm.CreateXmlHeadFile: ixmlNode;
    var
       xmlStr:string;
       fp:integer;
    begin
      xmlStr:='<?xml version="1.0" encoding="gb2312"?>';
      xmlStr:=xmlStr+'<!--hahahhahahhahah  Co,Ltd.-->';
      xmlStr:=xmlStr+'<!--create time: '+DateToStr(date)+'   '+timetoStr(time)+' -->';
      xmlstr:=xmlstr+'<questestinterop></questestinterop>';
      fp:=filecreate('test.xml');
      filewrite(fp,xmlstr[1],length(xmlstr));
      fileclose(fp);
      XmlDoc:=TXMLDocument.Create(application);
      XmlDoc.LoadFromFile('test.xml');
    end;然后对xmlDoc操作。
      

  2.   

    建议直接用TXMLDocument控件,增删子节点,及用它自带的方法savetofile来生成xml,比如:
    procedure TFormMain.ButtonOrderClick(Sender: TObject);
    var
      ValueNode: IXMLNode;
      XmlTreeNode: IXMLNode;
    begin
      XMLDocument1.Active := True;
      XmlTreeNode:=XMLDocument1.Node;
      XmlTreeNode := XMLDocument1.DocumentElement.AddChild('order');
      ValueNode := XmlTreeNode.AddChild('orderName');
      ValueNode.Text := EditorderName.Text;
      ValueNode := XmlTreeNode.AddChild('DigitalSign');
      ValueNode.Text := EditDigitalSign.Text;
      ValueNode := XmlTreeNode.AddChild('ApplyId');
      XMLDocument1.SaveToFile('Test.xml');
    end;