<code>//---------------------------------------------------------------------------</code>
<code>#ifndef Unit1H</code>
<code>#define Unit1H</code>
<code>#include <Classes.hpp></code>
<code>#include <Controls.hpp></code>
<code>#include <StdCtrls.hpp></code>
<code>#include <Forms.hpp></code>
<code>#include <msxmldom.hpp></code>
<code>#include <XMLDoc.hpp></code>
<code>#include <xmldom.hpp></code>
<code>#include <XMLIntf.hpp></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>TButton *btn_1;</code>
<code> </code><code>TButton *btn_2;</code>
<code> </code><code>TButton *btn_3;</code>
<code> </code><code>TButton *btn_4;</code>
<code> </code><code>TXMLDocument *XMLDocument1;</code>
<code> </code><code>TMemo *Memo1;</code>
<code> </code><code>void</code> <code>__fastcall FormCreate(TObject *Sender);</code>
<code> </code><code>void</code> <code>__fastcall btn_1Click(TObject *Sender);</code>
<code> </code><code>void</code> <code>__fastcall btn_2Click(TObject *Sender);</code>
<code> </code><code>void</code> <code>__fastcall btn_3Click(TObject *Sender);</code>
<code> </code><code>void</code> <code>__fastcall btn_4Click(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 <vcl.h></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::FormCreate(TObject *Sender)</code>
<code> </code><code>XMLDocument1->LoadFromFile(</code><code>"D:\\code\\B_C_B\\XMLDocument\\test.xml"</code><code>);</code>
<code> </code><code>Memo1->Lines=XMLDocument1->XML;</code>
<code>void</code> <code>__fastcall TForm1::btn_1Click(TObject *Sender)</code>
<code> </code><code>//访问第一个人的信息</code>
<code> </code><code>ShowMessage(XMLDocument1->DocumentElement->ChildNodes->Nodes[0]->ChildNodes->FindNode(</code><code>"姓名"</code><code>)->Text);</code><code>// 张三</code>
<code> </code><code>ShowMessage(XMLDocument1->DocumentElement->ChildNodes->Nodes[0]->ChildNodes->FindNode(</code><code>"性别"</code><code>)->Text);</code><code>// 男</code>
<code> </code><code>ShowMessage(XMLDocument1->DocumentElement->ChildNodes->Nodes[0]->ChildNodes->FindNode(</code><code>"年龄"</code><code>)->Text);</code><code>// 34</code>
<code> </code><code>//可以通过位置访问子节点,如:ChildNodes->Nodes[0] 表示子节点列表中的第一个元素</code>
<code> </code><code>// 可以通过子节点名访问子节点, 如: ChildNodes->['姓名']</code>
<code> </code><code>//但在节点名一样的情况下, 只能通过位置访问}</code>
<code> </code><code>//任何情况下都可以通过位置访问, 譬如:</code>
<code> </code><code>//ShowMessage(XMLDocument1->DocumentElement->ChildNodes->Nodes[0]->ChildNodes->nodes[0]->Text);// 张三</code>
<code>void</code> <code>__fastcall TForm1::btn_2Click(TObject *Sender)</code>
<code> </code><code>//访问第二个人的信息</code>
<code> </code><code>_di_IXMLNodeList nodeList;</code>
<code> </code><code>nodeList=XMLDocument1->DocumentElement->ChildNodes;</code>
<code> </code><code>_di_IXMLNode node=nodeList->Nodes[1];</code>
<code> </code><code>ShowMessage(node->ChildNodes->FindNode(</code><code>"姓名"</code><code>)->Text);</code>
<code> </code><code>ShowMessage(node->ChildNodes->FindNode(</code><code>"性别"</code><code>)->Text);</code>
<code> </code><code>ShowMessage(node->ChildNodes->FindNode(</code><code>"年龄"</code><code>)->Text);</code>
<code>void</code> <code>__fastcall TForm1::btn_3Click(TObject *Sender)</code>
<code> </code><code>//获得所有成员</code>
<code> </code><code>_di_IXMLNode node;</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i=0;i<nodeList->Count-1;i++)</code><code>//这里一定是nodelist->count-1</code>
<code> </code><code>{</code>
<code> </code><code>node=nodeList->Nodes[i];</code>
<code> </code><code>ShowMessage(node->ChildNodes->FindNode(</code><code>"姓名"</code><code>)->Text);</code><code>//分别显示姓名</code>
<code> </code><code>}</code>
<code>void</code> <code>__fastcall TForm1::btn_4Click(TObject *Sender)</code>
<code> </code><code>//获取所有成员年龄</code>
<code> </code><code>ShowMessage(node->ChildNodes->FindNode(</code><code>"年龄"</code><code>)->Text);</code><code>//分别显示年龄</code>