MSXML读取XML文件
来源:互联网 发布:淘宝商品即将被处罚 编辑:程序博客网 时间:2024/05/22 05:01
源代码如下:(环境vs2005)希望对不熟悉的人有所帮助
#include <windows.h>
#include <msxml.h>
#import "msxml.dll" rename_namespace("xml")
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL) ;
xml::IXMLDOMDocumentPtr pDoc ;
xml::IXMLDOMElementPtr pElem ;
xml::IXMLDOMNodePtr pNode ;
xml::IXMLDOMNodeListPtr pNodeList ;
xml::IXMLDOMNamedNodeMapPtr pNodeMap;
HRESULT hr = pDoc.CreateInstance(__uuidof(xml::DOMDocument)) ; //创建文档对象
if(!SUCCEEDED(hr))
{
cout<<"无法创建DM对象!"<<endl ;
return 0 ;
}
VARIANT_BOOL bFlag;
bFlag = pDoc->load(L"BitComet.xml") ; //load xml文件
if(bFlag == S_FALSE)
{
cout<<"打开BitComet.xml出错!"<<endl ;
return 0 ;
}
hr = pDoc->get_documentElement(&pElem) ; //获取根结点
if(pElem == NULL)
{
cout<<"获取根结点失败!"<<endl ;
return 0 ;
}
BSTR strTagName = NULL;
hr = pElem->get_tagName(&strTagName) ;
cout<<"------TagName------"<<endl ;
wcout <<strTagName<<endl ;
SysFreeString(strTagName) ;
hr = pElem->get_childNodes(&pNodeList) ; //获取子结点列表
long lCount;
hr = pNodeList->get_length(&lCount) ;
for(long i=0; i<lCount; ++i)
{
xml::IXMLDOMNodePtr pTmpNode;
pNodeList->get_item(i, &pTmpNode);
hr = pTmpNode->get_attributes(&pNodeMap);
long len;
pNodeMap->get_length(&len);
for (long i=0; i<len; i++)
{
xml::IXMLDOMNodePtr pNode3;
pNodeMap->get_item(i, &pNode3);
BSTR str;
pNode3->get_nodeName(&str);
wcout<<str<<L":";
SysFreeString(str);
VARIANT variant;
pNode3->get_nodeValue(&variant);
wcout<<variant.bstrVal<<endl;
}
}
}
- MSXML读取XML文件
- C++下通过MSXML读取XML文件内容
- 怎么样用C++调用MSXML组件读取XML文件
- VC++2005 使用调用webserver ,使用MSXML读取XML文件
- MSXML 解析XML文件
- 利用MSXML解析xml文件
- 使用MSXML解析XML文件
- 使用MSXML解析XML文件
- 用msxml写xml文件
- 使用MsXML读写XML文件
- MSXML创建xml文件方法
- vc中通过MSXML操作XML文件
- 简单使用MSXML生成xml文件
- 用MSXML读XML文件精华
- vc中通过MSXML操作XML文件
- MSXML生成以及解析XML文件
- msxml无法load xml文件的问题
- vc中通过MSXML操作XML文件
- Informix 删除主索引或主键
- 软件开发工期估算系列(1)——正確な見積もりはデスマーチ・プロジェクトを救うか?
- AppLocale 乱码解决方案
- EXT 居中显示
- ARMBoot-1.1.0 在 mini2440 开发板上的移植 之稻草人手记
- MSXML读取XML文件
- 最短路之SPFA
- vmware tools 安装的问题 Debian出问题,centos顺利
- hash与摄影的比较
- EXT fileupload 得不到返回值
- 解决js添加一个按钮,让这个按钮也获得初始的事件,绑定到新生成的DOM
- 关于多人操作数据的处理策略
- bugslayer
- oracle 索引,基本规则