VC,VB操作XML
TCHAR buffer[MAX_PATH] = {0}; ::GetModuleFileName(NULL, buffer, MAX_PATH); CString strPath = buffer; int nIndex = strPath.ReverseFind(_T('\\')); strPath = strPath.Left(nIndex + 1); 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 = 0;i<27;i++) { CString strFilePath = strBomFile; //write to xml short iNum=0; iNum=10; BSTR strKey; BSTR strValue; short ii=0; for (ii=0;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(2).Text strHeight = xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(3).Text MsgBox ("Width=" & strWidth & " Height=" & strHeight) xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(2).Text = "123" xDoc.selectSingleNode("overlays").selectSingleNode("Info").Attributes(3).Text = "456" xDoc.save (xmlFile) End Sub 注意 你上面的XML中Width="840"Height="630" 要分开,改成: Width="840" Height="630"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现