本帖最后由 ymf5340 于 2012-05-03 17:40:23 编辑

解决方案 »

  1.   

    另外,CMarkupMSXML类怎么没有删除属性的函数呀。
      

  2.   

    在类中加了个方法
     //属性
    bool CMarkupMSXML::x_ReMoveAttrib( MSXMLNS::IXMLDOMNodePtr pNode, LPCTSTR szAttrib)
    {
    bool retv;
    if ( ! ((bool)pNode) )
    return false; if ( pNode )
    {
       MSXMLNS::IXMLDOMNamedNodeMapPtr pAttribs = pNode->Getattributes();
    MSXMLNS::IXMLDOMNodePtr pAttrib;
    MSXMLNS::IXMLDOMElementPtr pNew =pNode;
    HRESULT hr = pAttribs->raw_getNamedItem( ToBSTR(szAttrib), &pAttrib );
    if ( SUCCEEDED(hr))
    pNew->raw_removeAttribute(ToBSTR(szAttrib));
    //retv= pAttribs->removeNamedItem(ToBSTR(szAttrib));
    //pAttrib->Release();
    return true;
    }
    return false;
    }
    但是失败了
      

  3.   

    经测试,上面函数其他属性都能删除,就是"xmlns"不能删除
    <RibbonWorkspaceTab xmlns="" MinorVersion="2" UserVersion="1" MajorVersion="17">
      

  4.   

    这个xmlns是XML文件的命名空间,不能删除吧,如果要删,估计需要把<RibbonWorkSpaceTab>里面的所有东西都删掉才可以