读取XML文件中的文本

//  创建对象
CoInitialize(NULL);  //  初始化COM

//  创建解析器实例
CComPtr < IXMLDOMDocument >  spXMLDOM;    

BSTR bstrItemText;
//     long value;
CString strbuf;

HRESULT hr
= spXMLDOM.CoCreateInstance (_uuidof(DOMDocument));

spXMLDOM
-> put_async(VARIANT_FALSE);
spXMLDOM
-> put_validateOnParse(VARIANT_FALSE);
spXMLDOM
-> put_resolveExternals(VARIANT_FALSE);
spXMLDOM
-> put_preserveWhiteSpace(VARIANT_TRUE);

_bstr_t path 
=  _bstr_t(xmlPath);
//  装载XML文档。
hr = spXMLDOM -> load(path);


//  1、读取里面全部文本
spXMLDOM -> get_text( & bstrItemText);  //  new
strbuf  =  bstrItemText;              //  new


//  2、读取一个节点
_bstr_t bstrSS( " paragraph " );
CComPtr
< IXMLDOMNodeList >  spParagraphs;

spParagraphs
= spXMLDOM -> getElementsByTagName(bstrSS);  // 搜索"Paragrah"


// 是否正确的得到了指向IDOMNodeList的指针。
hr  =  spParagraphs -> get_length( & value);  // 得到所包含的NODE节点的个数
if (SUCCEEDED(hr))
... {
    spParagraphs
->reset();
    
for(int ii=0; ii<value; ii++)
    
...{
        CComPtr
<IXMLDOMNode> spParagraph;
        
//得到具体的一个NODE节点
        
//    hr = spParagraphs->get_item(ii,&spParagraph); 
        
        spParagraph 
= spParagraphs->nextNode();
        
if(SUCCEEDED(hr))
        
...{
            spParagraph
->get_text(&bstrItemText); //得到该节点相关的文本信息
            strbuf += bstrItemText;
            strbuf 
+= " ";
        }

    }
       
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值