用delphi6中的中的xml控件,从一个xml文本中读出时,用childNodeList.count可以取得子节点的数量,可是新建一个子节点时如:add()方法,然后再取子节点数就不对了,总是比正常的多3个,比如原来为空,新建一个子节点,再取子节点数目,就变成4了。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      iNode,iChild: IXMLNode;
    begin
      Memo1.Lines := XMLDocument1.XML;
      iNode :=XMLDocument1.DocumentElement.ChildNodes[0];
      showMessage(IntToStr(iNode.ChildNodes.Count));  iChild := iNode.AddChild('ChildName');
      iChild.Text := 'text';
      Memo1.Lines := XMLDocument1.XML;
      showMessage(IntToStr(iNode.ChildNodes.Count));
    end;(注:簡単的TEST、沒問題...)
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      iNode,iChild: IXMLNode;
    begin
      Memo1.Lines := XMLDocument1.XML;
      iNode :=XMLDocument1.DocumentElement;  //改一下这里~~~
      showMessage(IntToStr(iNode.ChildNodes.Count));  iChild := iNode.AddChild('ChildName');
      iChild.Text := 'text';
      Memo1.Lines := XMLDocument1.XML;
      showMessage(IntToStr(iNode.ChildNodes.Count));
    end;