我要修改 IXMLNode 的 XML 属性,有没有什么好一点的办法啊?IXMLNode 有很多 ChindNodes,并且ChindNode有很多不同的 Attributes,我想偷懒直接用文本框编辑 IXMLNode 的 XML 属性,然后直接保存回去,看看谁能帮我想想办法

解决方案 »

  1.   

    uses
     msXml,ComObj;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      xmlDoc : IXMLDOMDocument;
      xmlNode : IXMLDOMNode;
      i : integer;
    begin
      xmlDoc:=IXMLDOMDocument(CreateOleObject('MSXML.DOMDocument'));
      xmldoc.load('c:\dd.xml');
      for i:= 0 to xmldoc.getElementsByTagName('R').length -1 do
      begin
        showmessage(xmldoc.getElementsByTagName('R').item[i].text);
      end;
      xmldoc.getElementsByTagName('R').item[0].text := '10';
      xmldoc.save('c:\dd.xml');
    end;
      

  2.   

    也可以用树来操作,将XML的node放到树的节点上,对树的节点进行操作
    或者用你说的方法把XML文件导入到文本框内,直接修改也可以
    或者就是用记事本进行编辑,来得更快
      

  3.   

    to cnhgj(戲子)(我想养只沙皮狗):
    我想修改 XML 属性,比如
    var
      FNode: IXMLNode;
    begin
      FNode.XML := '<Budded Name = "Budded" Age = "23"/>'; // 我想这样做,但这是行不通的
    end;