VC,VB操作XML
TCHAR buffer[MAX_PATH] = {};
::GetModuleFileName(NULL, buffer, MAX_PATH);
CString strPath = buffer;
int nIndex = strPath.ReverseFind(_T('\\'));
strPath = strPath.Left(nIndex + );
CString strBomFile = strPath + _T("Bom.xml");
MSXML2::IXMLDOMDocumentPtr pDocXML = NULL;
MSXML2::IXMLDOMElementPtr pRoot = NULL;
MSXML2::IXMLDOMElementPtr pNode = NULL;
HRESULT hr = pDocXML.CreateInstance(__uuidof(MSXML2::DOMDocument));
ASSERT(SUCCEEDED(hr));
pRoot = pDocXML->createElement((_bstr_t)(_T("BomData")));
pDocXML->appendChild(pRoot);
//3-1、遍历BomRcdArr
for(long i = ;i<;i++)
{
CString strFilePath = strBomFile;
//write to xml
short iNum=;
iNum=;
BSTR strKey;
BSTR strValue;
short ii=;
for (ii=;ii<iNum;ii++)
{
strKey = L"KEY";
strValue =L"VALUE";
//pITHDbBomRecorder->GetItem(&strKey,&strValue,ii);
pNode=NULL;
pNode = pDocXML->createElement((_bstr_t)(_T("Node")));
pNode->put_text((_bstr_t)_T("BomData"));//设置标签的文本内容;
pNode->setAttribute((_bstr_t)_T("BomDataBigNum"),(_variant_t)i);
pNode->setAttribute((_bstr_t)_T("BomDataSmallNum"),(_variant_t)ii);
pNode->setAttribute((_bstr_t)_T("key"),(_variant_t)strKey);
pNode->setAttribute((_bstr_t)_T("value"),(_variant_t)strValue);
pRoot->appendChild(pNode);
}
}
pDocXML->save( _bstr_t(strBomFile));
pNode->Release();
pRoot->Release();
pDocXML->Release();
Private Sub Command1_Click()
Dim xDoc As Object
Dim xmlFile As String
Dim strWidth As String
Dim strHeight As String
Set xDoc = CreateObject("MSXML2.DOMDocument")
xmlFile = "C:\aa.xml"
xDoc.Load xmlFile
strWidth = xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes().Text
strHeight = xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes().Text
MsgBox ("Width=" & strWidth & " Height=" & strHeight)
xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes().Text = ""
xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes().Text = ""
xDoc.save (xmlFile)
End Sub 注意 你上面的XML中Width=""Height="" 要分开,改成:
Width="" Height=""
VC,VB操作XML的更多相关文章
- VC++中操作XML(MFC、SDK)转
[转]VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++ ...
- [转]VC++中操作XML(MFC、SDK)
XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个库可以用:MSXML和Xml ...
- VC++中操作XMLWin32实例
摘要:VC++中操作XML XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个 ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- php中通过DOM操作XML
DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...
- 使用dom4j操作XML
DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...
- 使用JDOM操作XML
JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...
- php : DOM 操作 XML
DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...
随机推荐
- MyBatis-注解方式整合SSM
Spring.Spring MVC.MyBatis 整合 一.依赖 <?xml version="1.0" encoding="UTF-8"?> & ...
- awk指定[]为分隔符
root@standby[16:38:35]$ root@standby[16:38:35]$ cat tmp.log qq [8.8.8.8] 6.6.6.6 [1502301436.016] &q ...
- HTTP Method小记
HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这3个方法 HTTP 1.1 这个版本是当前版本,包含GET HEAD POST OPTIONS PUT ...
- static 和 final 关键字 对实例变量赋初始值的影响
static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的 ...
- VS2019预览版发布了
VS2019正式版已发布:https://www.cnblogs.com/zhaogaojian/p/10648904.html 1.点击下载https://visualstudio.microso ...
- 20155324 2016-2017-2 《Java程序设计》第2周学习总结
20155324 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 Java可区分为基本类型(Primitive Type)和类类型(Class Type)两大 ...
- Linux top 命令详解
Top top 查看资源占用 top -p pid# 查看某个进程PID 的内存占用: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT: ...
- Coursera Deep Learning 2 Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization - week2, Assignment(Optimization Methods)
声明:所有内容来自coursera,作为个人学习笔记记录在这里. 请不要ctrl+c/ctrl+v作业. Optimization Methods Until now, you've always u ...
- tarjan算法(求强连通子块,缩点)
tarjan算法求图中的强连通子图的个数. #include<iostream> #include<stack> #include<queue> #include& ...
- 再测简单的JSP---JSP和Serlet的关系
<Java Web入门经典.pdf>中第3章 末尾:, 创建一个web动态项目SqlServerTest,创建一个JSP文件index.jsp ,启动服务器 浏览器输入 http://l ...