有XML文件,读到TXMLDOCUMENT后,如何修改节点的名称

解决方案 »

  1.   

    FAQ 中有我提交的FAQ.查找一下。
      

  2.   

    var
    iDoc : TXMLDocument;
    iNode: TXMLNode;iNode := iDoc.ChildNodes[节点名];
    iNode.NodeName := 新名称;
      

  3.   

    我给你看个我做的例子,这样你可以参考参考:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, xmldom, XMLIntf, StdCtrls, msxmldom, XMLDoc;type
      TForm1 = class(TForm)
        XMLDocument1: TXMLDocument;
        Button1: TButton;
        Memo1: TMemo;
        Edit1: TEdit;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
     //k: integer;
     nn : IXMLNode;
     vv : IXMLNode;
     kk : String;
     k :IXMLNode;//IXMLNodeList;
     c : Integer;
    begin
    {k := 8;
    k := self.XMLDocument1.DocumentElement.ChildValues['checkdate'];
    edit1.Text := Inttostr(k);
    }//--添加节点
    nn := XMLDocument1.DocumentElement.AddChild('header');
    //nn.Attributes[''] := '';
    vv := nn.AddChild('receiveflag');
    vv.Text := 'jjjj';
    vv := nn.AddChild('checkdate');
    vv.Text := 'dfd';
    XMLDocument1.SaveToFile('aa.xml');//-- 读取节点的值
    k := XMLDocument1.DocumentElement.ChildNodes[0];
    c := XMLDocument1.DocumentElement.ChildNodes.Count;//edit1.Text := inttostr(c)+XMLDocument1.FileName;
    //showmessage(k);
    edit1.Text := k.ChildNodes['receiveflag'].Text;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     a : TXMLDocument;
    begin
      a:=TXMLDocument.Create(self);
      a.FileName:='http://localhost/xml/web.xml';
      a.SaveToFile('xml.xml');
    end;end.注意,记得把XMLDocument1组件的路径设置好。