xml解析相关
来源:互联网 发布:httpclient json 编辑:程序博客网 时间:2024/05/21 11:04
转载自:http://www.sudu.cn/info/html/edu/20080403/259885.html
现在XML文档应用的方面特别的多.
我把以前写过的一个例子帖出来,以备以后使用.
第一部分:DOM解析:
概述:DOM解析将会把一个完整的XML文档读进来,生成一个结构树。这样会要把XML文档全部都加载到内在中。所以解析起来的速度会要慢一些。
1、如何加载xml文件:
//创建DOM,加载XML文档
MSXML::IXMLDOMDocumentPtr pCommandDoc;
pCommandDoc.CreateInstance(__uuidof(MSXML::DOMDocument));
pCommandDoc->put_async(VARIANT_FALSE);
pCommandDoc->put_validateOnParse(VARIANT_FALSE);
pCommandDoc->put_resolveExternals(VARIANT_FALSE);
pCommandDoc->put_preserveWhiteSpace(VARIANT_TRUE);
pCommandDoc->load(file.GetBuffer(0));
2、在XML文档中查找指定的结点:
//找到
MSXML::IXMLDOMNodePtr pRootNode=pCommandDoc->selectSingleNode("root/record");
if (pRootNode==NULL)
{
return ;
}
3、得到XML文档中,结点的属性
CString strTemp;
MSXML::IXMLDOMNamedNodeMapPtr pAttrs = NULL;
pRootNode->get_attributes(&pAttrs);
if (pAttrs==NULL)
{
return;
}
MSXML::IXMLDOMNodePtr pRequestTypeAttr=pAttrs->getQualifiedItem("name","");
_bstr_t strRequestType=pRequestTypeAttr->Gettext();
strTemp=strRequestType.operator char *();
4、得到结点的内容
_bstr_t strVisiPort=pNode->Gettext();
5、设置结点的内容
HRESULT hr=pNode->put_text(_bstr_t(m_strGatewayPassword));
6、设置一个属性内容
IXMLDOMAttribute *pa=NULL;
bstr = SysAllocString(L"属性1");
pXMLDom->createAttribute(bstr,&pNode);
var = VariantString(L"strin");
pa->put_value(var);
pRoot->setAttributeNode(pa, &pa1);
- Java解析xml相关
- xml解析相关
- xml解析相关总结
- XML解析及相关问题
- XML解析器及相关概念介绍
- VC6中XML解析相关笔记
- VC6中XML解析相关笔记(二)
- Qt解析XML相关(QDom方式)
- Mybatis Generator相关xml配置文件含义解析
- xml 相关知识及xml解析(jaxp)
- 实习随手记-用相关解析器解析XML档
- XML解析器——expat相关文章
- 整理网上python解析xml文件相关资料汇总
- xml解析自定义类,并且初始化相关值
- 使用dom4j来解析相关的xml字符串
- XML中配置dubbo相关标签不能解析的问题
- 解析xml文件用spinner显示相关问题
- 关于在html中通过js解析xml相关问题:
- Oracle Database :玩转Oracle学习笔记之(7):orcle角色(1)
- 魔术师发牌问题和拉丁方阵
- 支配值数目
- nginx虚拟主机解决企业内外网访问
- 第13周项目一-理解基类中成员的访问限定符和派生类的继承方式
- xml解析相关
- 优化C#访问网络时的效率问题
- 整天玩手机的人一定要看,不看一定后悔!
- hdoj_2019 数列有序!
- Struts2实现多文件上传
- MongoDB 之旅(一) 简介
- chrome developer tool 调试技巧
- 管理小故事6
- 2哥学Vb.net--VBS 操作VB.net dll