天天看點

c++ builder 中的 XMLDocument 類詳解(14) - XML的儲存與建立

<code>//---------------------------------------------------------------------------</code>

<code>#ifndef Unit1H</code>

<code>#define Unit1H</code>

<code>#include &lt;Classes.hpp&gt;</code>

<code>#include &lt;Controls.hpp&gt;</code>

<code>#include &lt;StdCtrls.hpp&gt;</code>

<code>#include &lt;Forms.hpp&gt;</code>

<code>#include &lt;msxmldom.hpp&gt;</code>

<code>#include &lt;XMLDoc.hpp&gt;</code>

<code>#include &lt;xmldom.hpp&gt;</code>

<code>#include &lt;XMLIntf.hpp&gt;</code>

<code>class</code> <code>TForm1 :</code><code>public</code> <code>TForm</code>

<code>{</code>

<code>__published:   </code><code>// IDE-managed Components</code>

<code>    </code><code>TXMLDocument *XMLDocument1;</code>

<code>    </code><code>TButton *Button1;</code>

<code>    </code><code>TButton *Button2;</code>

<code>    </code><code>void</code> <code>__fastcall Button1Click(TObject *Sender);</code>

<code>    </code><code>void</code> <code>__fastcall Button2Click(TObject *Sender);</code>

<code>private</code><code>:   </code><code>// User declarations</code>

<code>public</code><code>:    </code><code>// User declarations</code>

<code>    </code><code>__fastcall TForm1(TComponent* Owner);</code>

<code>};</code>

<code>extern</code> <code>PACKAGE TForm1 *Form1;</code>

<code>#endif</code>

<code>#include &lt;vcl.h&gt;</code>

<code>#pragma hdrstop</code>

<code>#include "Unit1.h"</code>

<code>#pragma package(smart_init)</code>

<code>#pragma resource "*.dfm"</code>

<code>TForm1 *Form1;</code>

<code>__fastcall TForm1::TForm1(TComponent* Owner)</code>

<code>    </code><code>: TForm(Owner)</code>

<code>}</code>

<code>void</code> <code>__fastcall TForm1::Button1Click(TObject *Sender)</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Clear();</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>""</code><code>);</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>"&lt;科室名單 備注=\"測試\"&gt;"</code><code>);</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>"&lt;人員 職務=\"科長\" 備注=\"正局級\"&gt;"</code><code>);</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>"&lt;姓名&gt;張三"</code><code>);</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>"&lt;性别&gt;男"</code><code>);</code>

<code>    </code><code>XMLDocument1-&gt;XML-&gt;Add(</code><code>"&lt;年齡&gt;34"</code><code>);</code>

<code>    </code><code>//檢視</code>

<code>    </code><code>ShowMessage(XMLDocument1-&gt;XML-&gt;Text);</code>

<code>    </code><code>//儲存</code>

<code>    </code><code>XMLDocument1-&gt;Active=</code><code>true</code><code>;</code>

<code>    </code><code>XMLDocument1-&gt;SaveToFile(</code><code>"c:\\temp\\1.xml"</code><code>);</code>

<code>void</code> <code>__fastcall TForm1::Button2Click(TObject *Sender)</code>

<code>    </code><code>//建立xml檔案的标準方法</code>

<code>    </code><code>_di_IXMLNode pNode,cNode;</code><code>//定義兩個結點,父節點,子節點</code>

<code>    </code><code>XMLDocument1-&gt;Active=</code><code>true</code><code>;</code><code>//必須先激活</code>

<code>    </code><code>XMLDocument1-&gt;Version=</code><code>"1.0"</code><code>;</code><code>//設定版本</code>

<code>    </code><code>XMLDocument1-&gt;Encoding=</code><code>"GB2312"</code><code>;</code><code>//設定語言</code>

<code>    </code><code>pNode=XMLDocument1-&gt;AddChild(</code><code>"科室名單"</code><code>);      </code><code>//添加第一個節點是根結點</code>

<code>    </code><code>pNode-&gt;SetAttribute(</code><code>"備注"</code><code>,</code><code>"測試"</code><code>);</code><code>//設定根結點屬性</code>

<code>    </code><code>pNode=pNode-&gt;AddChild(</code><code>"人員"</code><code>);</code><code>//為根結點添加子結點</code>

<code>    </code><code>pNode-&gt;SetAttribute(</code><code>"職務"</code><code>,</code><code>"科長"</code><code>);</code>

<code>    </code><code>pNode-&gt;SetAttribute(</code><code>"備注"</code><code>,</code><code>"正處級"</code><code>);</code>

<code>    </code><code>cNode=pNode-&gt;AddChild(</code><code>"姓名"</code><code>);</code><code>//為pNode添加子節點,傳回值cNode指向了新添加的節點</code>

<code>    </code><code>cNode-&gt;Text=</code><code>"張三"</code><code>;</code>

<code>    </code><code>cNode=pNode-&gt;AddChild(</code><code>"性别"</code><code>);</code>

<code>    </code><code>cNode-&gt;Text=</code><code>"男"</code><code>;</code>

<code>    </code><code>cNode=pNode-&gt;AddChild(</code><code>"年齡"</code><code>);</code>

<code>    </code><code>cNode-&gt;Text=</code><code>"34"</code><code>;</code>

繼續閱讀