• 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"
  • 相关阅读:
    USACO2.24 Party Lamps
    hdu3811 Permutation
    局部视图Partial
    动态修改a标签的css样式
    .net 记住用户名和密码
    C#枚举
    学习存储过程的时候参看的两个DVBBS的存储过程和两个初步了解后自己写的存储过程(带分页的)
    js 几种常用的表单输入判断
    AJAX+.net实现无刷新搜索,无须提交,边输边查
    ifream中的数据传递
  • 原文地址:https://www.cnblogs.com/liaocheng/p/4243658.html
Copyright © 2020-2023  润新知