....
   MSHTML::IHTMLDocument3Ptr pDoc3;
   ....
   pCollection = pDoc3->getElementsByTagName(L"def_c");//def_c为自定义标签.<def_c hh="abcd">12345</def_c>
   CComBSTR bstrTagValue;
   VARIANT varTagHH;
   for(long i=0; i<pCollection->length; i++){
       pElement = pCollection->item(i, (long)0);
       if(pElement != NULL){
           varTagHH= pElement->getAttribute(_bstr_t("hh"),0);//得到varTagHH == "abcd"
           pElement->get_innerHTML(&bTagname);//获取值"12345"失败,结果为""
        }
   }程序在读取自定义标签时会出现get_innerHTML失败.如果将标签名"def_c",改为"a",就没问题..
有处理过这样的问题吗??找了好久了..帮帮我..

解决方案 »

  1.   

    innerHTML属性只针对部分内置标签有效,不是所有元素都能用这个属性,自定义标签就更不用说了
      

  2.   

    BSTR pLinkstr;
    //pLinkElement->get_innerHTML(&pLinkstr);
    pLinkElement->get_outerText(&pLinkstr); //试试这个
      

  3.   

    问题解决了.
    get_outerText也是不好用的.
    解决办法是将自定义标签通过字符串替换为<DL><DH>和<DD>接口可识别标签.
    就是麻烦点.谢谢两位..