3,245
社区成员
发帖
与我相关
我的任务
分享
Interface* operator->() const
{
if (m_pInterface == NULL) {
_com_issue_error(E_POINTER);
}
return m_pInterface;
}
void CschemaXmlDlg::OnBnClickedLoad()
{
// TODO: Add your control notification handler code here
CoInitialize(NULL);
MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr rootNode;
MSXML2::IXMLDOMNodeListPtr nodeList;
MSXML2::IXMLDOMNodePtr pNode;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(hr))
{
MessageBox(_T("Error"));
return;
}
variant_t vResult;
vResult=pDoc->load(L"d://he.xml");
if (((bool)vResult) != TRUE) // 加载失败
{
MessageBox(L"load failed");
return;
}
//pDoc->get_documentElement(&rootNode); //效果和下句一样
rootNode = (MSXML2::IXMLDOMElementPtr)(pDoc->selectSingleNode(L"//Book"));
rootNode->get_childNodes(&nodeList);
BSTR bstr;
pNode->get_nodeName(&bstr);
int len;
nodeList->get_length((long*)&len);
for(int i=0;i<len;i++)
{
nodeList->get_item(i,&pNode);
pNode->get_nodeName(&bstr);
if((char*)(_bstr_t)bstr=="Author")
m_strAuthor=(char*)(_bstr_t)pNode->nodeTypedValue;
else if((char*)(_bstr_t)bstr=="Title")
m_strTitle=(char*)(_bstr_t)pNode->nodeTypedValue;
}
UpdateData(FALSE);
}
_bstr_t bstrName;
pNode->get_nodeName(bstrName.GetAddress());
if (bstrName == _bstr_t(L"aaaa"))