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" ?> ...
随机推荐
- 面向对象【day08】:异常处理(六)
本节内容 1.概述 2.异常梳理 3.异常梳理流程图 4.异常大全 5.自定义异常 一.概述 异常处理是当程序出错了,但是我们又不想让用户看到这个错误,而且我在写程序的时候已经预料到了它可以出现这样的 ...
- MyBatis-parameterType 取出入参值
SQL 映射文件的几种入参情况 一.单个基本类型参数 public MyUser selectMyUser(Integer id); <!-- #{参数名或任意名}:取出参数值 --> & ...
- hibernate validator【原】
hibernate validator 功能 在开发中经常做一些字段校验的功能,比如非空,长度限制,邮箱验证等等,为了省掉这种冗长繁琐的操作,hibernate validator提供了一套精简的注释 ...
- 在js或jquery中动态添加js脚本【转】
起因: 我们在用js动态写入script时,会导致</script>后面的所有语句都变为普通文本,导致html展示无效, 所以我们需要规避</script>问题. 解决方案一( ...
- 040、Docker managed volume(2019-03-01 周五)
参考https://www.cnblogs.com/CloudMan6/p/7152775.html docker managed volume 与bind mount 在使用上最大的区别是不需要 ...
- 【LDAP】LDAP注入漏洞与防御
0x01 前言 前两天爆了一个LDAP漏洞,据说存在了8年现在才被发现,感概一下,不知这8年来有多少站被搞了... 想着复现这个漏洞,就先复习一下LDAP注入的相关知识吧,差了很多资料,记一下笔记. ...
- 【BZOJ3697】采药人的路径 点分治
[BZOJ3697]采药人的路径 Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材.采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是 ...
- Tensorflow Python 转 Java(一)
一.背景描述 最近python的tensorflow想办法给弄到线上去.网络用的Tensorflow现成的包.写篇博客,记录下过成.数据用kaggle中的数据为例子. 数据地址: https://ww ...
- 数组B:我想我需要一艘船屋
Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process o ...
- Spark思维导图之Spark SQL