比如一个xml有很多层,想将其中的一个CComPtr<IXMLDOMNode> spXMLNode当作CComPtr<IXMLDOMDocument> spXMLDOM来用,主要是用于递归的操作,想使用IXMLDOMDocument的getelementbytargetname之类的方法去寻找节点内嵌套的相同的节点。java中可以直接用强制类型转换,问问大家在c++中平常用什么方法?

解决方案 »

  1.   

    IXMLDOMDocument 就是 IXMLDOMNode 可以直接用
      

  2.   

    还是昨天同样的问题 ,多层次下寻找同名的节点。怎样把node当document用?我想用getelementbytargetname之类的方法,这些方法是IXMLDOMDocument下的,怎样让IXMLDOMNode用 呢?
      

  3.   

    IXMLDOMNode::selectNodes Method传入一个同名节点的路径就行了 返回的是IXMLDOMNodeList 同名节点的节点集
      

  4.   

    IXMLDOMDocument 好像没有 getelementbytargetname 这个方法
    只有 
    HRESULT getElementsByTagName(    BSTR tagname,    IXMLDOMNodeList **resultList);这个方法。。这和
    IXMLDOMNode的
    HRESULT selectNodes(    BSTR patternString,    IXMLDOMNodeList **resultList);方法的用法是一样的
      

  5.   

    同wanilyer的观点,用selectNodes比较的好用哦
      

  6.   

    谢谢大家了,我现在解决了,用了IXMLDOMELEMENT指向IXMLDOMNodeList对象,然后递归调用getElementsByTagName的方法。