3,245
社区成员
发帖
与我相关
我的任务
分享
MSXML2::IXMLDOMDocumentPtr m_pXmlDoc;
HRESULT hr = CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument2, (void**)&m_pXmlDoc);
#define LPXMLDOC MSXML2::IXMLDOMDocumentPtr
#define LPXMLELEMENT MSXML2::IXMLDOMElementPtr
#define LPXMLNODE MSXML2::IXMLDOMNodePtr
#define LPXMLNODES MSXML2::IXMLDOMNodeListPtr
#define LPXMLPI MSXML2::IXMLDOMProcessingInstructionPtr
#define LPXMLCDATA MSXML2::IXMLDOMCDATASectionPtr
#define LPXMLERROR MSXML2::IXMLDOMParseErrorPtr
CString strFile = "D:\\Work\\PowerTest\\PowerTest\\Bin\\1.xml";
HRESULT hr = m_pXmlDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
if(hr != S_OK || m_pXmlDoc == NULL)
return;
m_pXmlDoc->load(_bstr_t(strFile));
HRESULT hr = CoInitialize(NULL);
if(hr != S_OK)
{
AfxMessageBox("COM初始化错误!");
return FALSE;
}
LPXMLNODE pRootNode = theApp.m_pXmlDoc->selectSingleNode(_bstr_t("PowerTest"));
LPXMLNODE pSettingNode = pRootNode->selectSingleNode(_bstr_t("BaseSettings"));
LPXMLNODE pMonitorNode = pSettingNode->selectSingleNode(_bstr_t("Monitor"));
LPXMLNODE pSessionNode = pMonitorNode->selectSingleNode(_bstr_t("Session"));
LPXMLNODE pColumnRoot = pSessionNode->selectSingleNode(_bstr_t("ColumnSetting"));
LPXMLNODES pColumnNodes = pColumnRoot->selectNodes(_bstr_t("Column"));
long nCount;
pColumnNodes->get_length(&nCount);
for(long i=0;i<nCount;i++)
{
LPXMLNODE pColumnNode;
pColumnNodes->get_item(i, &pColumnNode);
LPXMLELEMENT pColumnElement = pColumnNode;
_variant_t varName = pColumnElement->getAttribute(_bstr_t("ListColumnName"));
_variant_t varWidth = pColumnElement->getAttribute(_bstr_t("ListColumnWidth"));
}