void GetAllFileTypes(CObArray &obArray)
{
 IXMLDOMNodeListPtr pNodeList;
 HRESULT hr = m_pXMLDOMDoc->get_childNodes(&pNodeList);
 if ( hr != S_OK ) return; IXMLDOMNodePtr pNode;
 long lLength;
 pNodeList->get_length(&lLength);
 pNodeList->reset(); for ( int i = 0 ; i < lLength ; i++ )
 {
  IXMLDOMNodePtr pNode;
  hr = pNodeList->nextNode(&pNode);
  if ( hr != S_OK ){
   continue;
  } }
}不要使用void GetAllFileTypes(CObArray &obArray)
{
 IXMLDOMNodeListPtr pNodeList;
 HRESULT hr = m_pXMLDOMDoc->get_childNodes(&pNodeList);
 if ( hr != S_OK ) return; IXMLDOMNodePtr pNode;
 long lLength;
 pNodeList->get_length(&lLength);
 pNodeList->reset();
 for ( int i = 0 ; i < lLength ; i++ )
 {
  IXMLDOMNodePtr pNode;
  hr = pNodeList->Get_Item(i, &pNode);
  if ( hr != S_OK ){
   continue;
  } }
}也就是,使用:
 pNodeList->reset();
 hr = pNodeList->nextNode(&pNode);
组合,而不要直接使用
  hr = pNodeList->get_item(i, &pNode);
因为根据实际使用,发现后者存在漏洞,经常会取不出pNode。