MFC讀寫XML檔案
- 檔案頂部加入
- #import "msxml3.dll";
- usingnamespace MSXML2;
- //這兩句作用是,在程式的資料夾下生成MSXML3.TLH和MSXML3.TLI兩個檔案;
- ---------------------------------------------------------
- 建立一個XML檔案;
- ::CoInitialize(NULL);
- MSXML2::IXMLDOMDocumentPtr XMLDOC;
- MSXML2::IXMLDOMElementPtr XMLROOT;
- HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
- if(!SUCCEEDED(HR))
- {
- MessageBox("faild!!");
- return;
- }
- XMLROOT = XMLDOC->createElement("ROOT");
- XMLROOT->setAttribute("ID","12345"); //設定根標籤的屬性;
- XMLDOC->appendChild(XMLROOT);
- CString TMP;
- MSXML2::IXMLDOMElementPtr XMLNODE;
- for(int I=0;I<10;I++)
- {
- TMP.Format("%d",I);
- XMLNODE = XMLDOC->createElement((_bstr_t)("NODE"+TMP));
- XMLNODE->put_text((_bstr_t)"NODETEXTS");//設定標籤的文字內容;
- XMLNODE->setAttribute("ID",(_variant_t)TMP);//設定標籤的屬性及內容;
- XMLNODE->setAttribute("NAME","NODENAME");
- XMLROOT->appendChild(XMLNODE);
- }
- XMLDOC->save("XMLTEST.XML");
- XMLNODE.Release();
- XMLROOT.Release();
- XMLDOC.Release();
- ::CoUninitialize();
- ------------------------------------------------------------------
- 讀取一個XML;
- ::CoInitialize(NULL);
- MSXML2::IXMLDOMDocumentPtr XMLDOC;
- MSXML2::IXMLDOMElementPtr XMLROOT;
- MSXML2::IXMLDOMElementPtr XMLELEMENT;
- MSXML2::IXMLDOMNodeListPtr XMLNODES; //某個節點的所以位元組點
- MSXML2::IXMLDOMNamedNodeMapPtr XMLNODEATTS;//某個節點的所有屬性;
- MSXML2::IXMLDOMNodePtr XMLNODE;
- HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
- if(!SUCCEEDED(HR))
- {
- MessageBox("faild!!");
- return;
- }
- XMLDOC->load("XMLTEST.XML");
- XMLROOT = XMLDOC->GetdocumentElement();//獲得根節點;
- XMLROOT->get_childNodes(&XMLNODES);//獲得根節點的所有子節點;
- long XMLNODESNUM,ATTSNUM;
- XMLNODES->get_length(&XMLNODESNUM);//獲得所有子節點的個數;
- CString TMP;
- TMP.Format("%d",XMLNODESNUM);
- MessageBox(TMP);
- for(int I=0;I<XMLNODESNUM;I++)
- {
- XMLNODES->get_item(I,&XMLNODE);//獲得某個子節點;
- XMLNODE->get_attributes(&XMLNODEATTS);//獲得某個節點的所有屬性;
- XMLNODEATTS->get_length(&ATTSNUM);//獲得所有屬性的個數;
- for(int J=0;J<ATTSNUM;J++)
- {
- XMLNODEATTS->get_item(J,&XMLNODE);//獲得某個屬性;
- CString T1 = (char*)(_bstr_t)XMLNODE->nodeName;
- CString T2 = (char*)(_bstr_t)XMLNODE->text;
- MessageBox(T1+" = "+T2);
- }
- //MessageBox((_bstr_t)XMLNODE->nodeName+": "+(_bstr_t)XMLNODE->text);
- }
- return;
- //XMLDOC->save("XMLTEST.XML");
- XMLNODES.Release();
- XMLNODE.Release();
- XMLROOT.Release();
- XMLDOC.Release();
- ::CoUninitialize();
- ---------------------------------------------------------
- 總結:
- XML檔案檔型別:MSXML2::IXMLDOMDocumentPtr;
- 單個元素型別:MSXML2::IXMLDOMElementPtr;
- 單個節點型別:MSXML2::IXMLDOMNodePtr;
- 所有子節點型別:MSXML2::IXMLDOMNodeListPtr;
- 所有屬性型別:MSXML2::IXMLDOMNamedNodeMapPtr;
- 獲得節點個數的方法:get_length();
- 獲得所有子節點的方法:get_childNodes();
- 獲得指定節點的方法:get_item(索引號,單個節點型別變數);
- 寫入單個節點的文字內容方法:put_text((_bstr_t)"內容");
- 獲得單個節點的文字內容屬性:XMLNODE->text;
- 獲得單個屬性的內容屬性:XMLNODEATT->text;
- 節點名的屬性為:XMLNODE->nodeName;
- ---------------------------------------------------------------
- XML建立檔案一般過程:
- ::CoInitialize(NULL);
- HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
- if(!SUCCEEDED(HR))
- {
- MessageBox("faild!!");
- return;
- }
- XMLROOT = XMLDOC->createElement("ROOT");//建立檔案;
- 操作檔案.....................
- XMLDOC->save("XMLTEST.XML");//儲存檔案;
- XMLNODE.Release();
- XMLROOT.Release();
- XMLDOC.Release();
- ::CoUninitialize();
- ------------------------------------------------------------------------------
- 載入檔案過程式:
- ::CoInitialize(NULL);
- HRESULT HR = XMLDOC.CreateInstance(_uuidof(MSXML2::DOMDocument30));
- if(!SUCCEEDED(HR))
- {
- MessageBox("faild!!");
- return;
- }
- XMLDOC->load("XMLTEST.XML");
- 檔案操作.........................
- XMLDOC->save("XMLTEST.XML");//可以儲存對檔案的修改;
- XMLNODES.Release();
- XMLNODE.Release();
- XMLROOT.Release();
- XMLDOC.Release();
- ::CoUninitialize();
相關推薦
MFC讀寫XML檔案
檔案頂部加入 #import "msxml3.dll"; usingnamespace MSXML2; //這兩句作用是,在程式的資料夾下生成MSXML3.TLH和MSXML3.TLI兩個檔案; ---------------------------------------------------------
Java:使用DOM4j來實現讀寫XML檔案中的屬性和元素
DOM4可以讀取和新增XML檔案的屬性或者元素 讀取屬性: public static void ReadAttributes() throws DocumentException { File file = new File("D:\\cmz\\java\\XMLTest\\Custom
Java:簡單的讀寫XML檔案之使用DOM4J讀寫
Dom4J方式解析XML檔案。dom4j是非官方提供的xml檔案解析方式,因此需要去第三方下載dom4j的jar包 File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml"); SAXReader reader = n
C++讀寫XML檔案(libxml2庫)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C++讀寫XML檔案(使用tinyxml庫)
使用以下程式碼之前,需要下載TinyXml庫,幷包含到工程下 #include <stdio.h> #include "tinyxml.h" #include <iostream> #include <cstring> usin
Python讀寫XML檔案
什麼是XML XML是可擴充套件標記語言(Extensible Markup Language)的縮寫,其中標記是關鍵部分。使用者可以建立內容,然後使用限定標記標記它,從而使每個單詞、短語或塊成為可識別、可分類的資訊。 標記語言從早起的私有公司和政府制定形式逐
PHP讀寫XML檔案的四種方法
PHP對XML檔案進行讀寫操作的方法一共有四種,分別是:字串方式直接讀寫、DOMDocument讀寫、XMLWrite寫和XMLReader讀、SimpleXML讀寫,本文將依次對這四種方法進行介紹。 介紹之前首先對本文例子使用的資料和檔案進行說明。本文寫XML檔案
MFC讀寫配置檔案
##這是一個讀寫配置檔案的類 .h檔案 #pragma once #include <wtypes.h> #include <afxstr.h> #include <afxcoll.h> //配置檔案類 讀寫ini
MFC讀寫ini檔案方法
VC中用函式讀寫ini檔案的方法 ini檔案(即Initialization file),這種型別的檔案中通常存放的是一個程式的初始化資訊。ini檔案由若干個節(Section)組成,每個Section由若干鍵(Key)組成,每個Key可以賦相應的值。讀寫ini檔案實際上就是讀寫某個的Sec
android 中讀寫xml檔案時取得路徑的方法/data/sdcard/src
package com.eboy.readwritexml; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream;
tinyxml2讀寫XML檔案的例程
例程很簡單,因此就不再囉嗦了,直接上程式碼。 test.xml內容: <?xml version="1.0"?> <scene name="Depth"> <surface id="A001" type="Camera"> <
C# 讀寫XML檔案的方法詳細總結
XmlDocument類的屬性 屬性 說明 Attributes 當前節點的屬性集合 BaseURI 當前節點的基URI ChildNodes 節點的所有子節點 Doc
Matlab讀寫xml檔案
xml檔案以文件物件模型表示,簡稱DOM(Document Object Model)。在Matlab中,使用xmlread讀取xml檔案成DOM節點,對xml檔案的操作轉化成對DOM節點的操作,使用xmlwrite把DOM節點寫入到xml檔案中。 Matla
一次程式碼重構之旅-快速讀寫xml檔案工具類封裝
為了滿足系統的靈活性,有些功能經常需要用到配置檔案,一般是xml格式的居多.如何能快速讀寫配置檔案呢? 以前都是用dom4j提供的api來讀寫xml檔案,用dom4j讀寫配置檔案總感覺像是在結構化的處理問題,能不能直接把xml檔案和JavaBean之間相互轉換呢
Qt:QXMLStreamReader、QXMLStreamWriter,讀寫XML檔案例項
效果圖: 需求: 開啟對應格式的XML檔案,讀入到QTreewidget樹中,並能將XML檔案另存為,寫入到磁碟。 原始碼: main.cpp #include "mainwindow.h" #include <QApplication> int
cocos2dx讀寫xml檔案
首先包含標頭檔案 #include "tinyxml2/tinyxml2.h" usingnamespace tinyxml2; //data.xml檔案內容 <Chapters> <Chapter> <Name>Misty Va
使用jdom讀寫xml檔案
JDOM是一種適合Java程式設計師來使用的Java XML解析器,而dom,dom4j適用於不同的語言. 程式碼如下: process.xml <?xml version="1.0" encoding="UTF-8"?><Process> <
vs2008下用MFC讀寫excel檔案
CApplication app1; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; CRange iCell; LPDISPATCH lpDisp; COleVariant vResu
C++通過TinyXML類庫讀寫XML檔案
TinyXML是一個開源的解析XML的解析庫,能夠用於C++,能夠在Windows或Linux中編譯。這個解析庫的模型通過解析XML檔案,然後在記憶體中生成DOM模型,從而讓我們很方便的遍歷這棵XML樹。DOM模型即文件物件模型,是將整個文件分成多個元素(如書、章、節、段等)
qt讀寫xml檔案
1、DOM方式 寫xml檔案,以QDomText方式寫,程式碼如下 QFile file("d:/test.txt"); file.open(QIODevice::WriteOnly); QDomDocument doc; QDomProcessingInstructio