请教delphi怎样用XMLDocument组件取得xml文件中的某个确定节点(节点名字相同,但数量士多个)。而且怎样删除某个节点,根据给定参数怎样查询哪些节点符合要求?谢谢!!!

解决方案 »

  1.   

    这种情况,最好不要用XMLDoucment,你可以使用TClientDataSet的FieldDefs和XMLData属性。很好用,而且简单,建议你去了解一下。
      

  2.   

    Replys := Document.documentElement.getElementsByTagName('Replys').item[0] as IXMLDOMElement;
            Total := Replys.childNodes.Length;
            if (Total = 0) then
            begin
                msg := '<沙发,抢!>';
                Result := 0;
                Exit;
            end;
            countReply := 0;
            Len := 0;
            Index := 0;
            Msg := '';
            for i := Total-1 downto 0  do
            begin
                if ((Replys.childNodes.item[i] as IXMLDOMElement).getElementsByTagName('PostUserName').item[0].Text = strUserName) then
                begin
                    Inc(countReply);
                    msg := Msg + '<已回复'+inttostr(countReply)+'次>'+ #13#10#9'最后回复:' +
                        (Replys.childNodes.item[i] as IXMLDOMElement).getElementsByTagName('Content').item[0].Text;
                    break;
                end;
                Temp := Length((Replys.childNodes.item[i] as IXMLDOMElement).getElementsByTagName('Content').item[0].Text);
                if Temp > Len then
                begin
                  Index := i;
                  Len := Temp;
                end;
            end;
    给你一部分参考其实就是找到其父节点,然后得到父节点的ChildNodes,
    然后逐个判断是否符合
      

  3.   

    理解上面的代码,可以根据本帖子的源文件来看,这个是分析csdn帖子的代码