Anwendungen mit XML-Komponenten erstellen
Nach oben zu So erstellen Sie VCL-Formularanwendungen
In diesem Beispiel wird eine VCL Forms-Anwendung erstellt, die mit Hilfe einer XMLDocument-Komponente den Inhalt einer XML-Datei anzeigt.
Die folgenden grundlegenden Schritte werden ausgeführt:
- Erstellen eines XML-Dokuments.
- Erstellen eines VCL-Formulars.
- Einfügen einer XMLDocument-Komponente in das Formular und Verknüpfen mit der XML-Datei.
- Erstellen von VCL-Komponenten für die Anzeige des XML-Dateiinhalts.
- Schreiben von Ereignisbehandlungsroutinen für die Anzeige des Inhalts von untergeordneten Knoten in der XML-Datei.
- Compilieren und Ausführen der Anwendung.
So erstellen Sie das XML-Dokument:
- Kopieren Sie den folgenden Text in eine Datei in einem Texteditor.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE StockHoldings [
<!ELEMENT StockHoldings (Stock+)>
<!ELEMENT Stock (name)>
<!ELEMENT Stock (price)>
<!ELEMENT Stock (symbol)>
<!ELEMENT Stock (shares)>
]>
<StockHoldings>
<Stock exchange="NASDAQ">
<name>MyAppDevCo</name>
<price>10.375</price>
<symbol>MADCO</symbol>
<shares>100</shares>
</Stock>
<Stock exchange="NYSE">
<name>MyCompany</name>
<price>8.75</price>
<symbol>MYCO</symbol>
<shares type="preferred">25</shares>
</Stock>
</StockHoldings>
- Speichern Sie die Datei als XML-Dokument auf dem lokalen Laufwerk. Weisen Sie ihr den Namen stock.xml zu.
- Öffnen Sie das Dokument im Browser. Der Inhalt der Datei sollte fehlerfrei angezeigt werden.
Hinweis: Im Browser können Sie den Text der Quelldatei durch Auswahl von Ansicht > Quellcode anzeigen.
So erstellen Sie ein Formular mit einer XMLDocument-Komponente:
- Wählen Sie Datei > Neu > Weitere > Delphi-Projekte oder C++Builder-Projekte, und doppelklicken Sie auf das Symbol VCL-Formularanwendung. Der VCL-Formular-Designer wird angezeigt.
- Ziehen Sie aus der Seite Internet der Tool-Palette eine TXMLDocument-Komponente auf das Formular.
- Klicken Sie im Objektinspektor auf die Ellipsen-Schaltfläche neben der Eigenschaft FileName, suchen Sie die neu erstellte XML-Datei, und öffnen Sie sie. Die XML-Datei ist mit der TXMLDocument-Komponente verknüpft.
- Setzen Sie im Objektinspektor die Eigenschaft Active auf True.
So richten Sie die VCL-Komponenten ein:
- Ziehen Sie aus der Seite Standard der Tool-Palette eine TMemo-Komponente auf das Formular.
- Ziehen Sie aus der Seite Standard der Tool-Palette zwei TButton-Komponenten unmittelbar über Memo1 auf das Formular.
- Wählen Sie im Objektinspektor die Komponente Button1 aus, und geben Sie für die Eigenschaft Caption den Wert MyAppDevCo ein.
- Wählen Sie im Objektinspektor die Komponente Button2 aus, und weisen Sie der Eigenschaft Caption den Wert MyCompany zu.
So zeigen Sie den Inhalt eines untergeordneten Knotens der XML-Datei an:
- Wählen Sie im Objektinspektor die Komponente Button1 aus, und doppelklicken Sie auf der Registerkarte Ereignisse auf das Ereignis OnClick. Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1.Button1Click.
- Geben Sie folgenden Code ein, um den Aktienpreis des ersten untergeordneten Knotens anzuzeigen, sobald auf die Schaltfläche MyAppDevCo geklickt wird:
MyAppDevCoStock:=XMLDocument1.DocumentElement.ChildNodes[0];
Price:= MyAppDevCoStock.ChildNodes['price'].Text;
Memo1.Text := Price;
- Für C++
IXMLNode *MyAppDevCoStock = XMLDocument1->DocumentElement->ChildNodes->GetNode(0);
WideString Price = MyAppDevCoStock->ChildNodes->FindNode( "price" )->Text;
Memo1->Text = Price;
-
Fügen Sie in Delphi unmittelbar über dem Codeblock in der Ereignisbehandlungsroutine einen var-Abschnitt hinzu, und geben Sie die folgenden Deklarationen für lokale Variablen ein:
var MyAppDevCoStock: IXMLNode; Price: string;
- Wählen Sie im Objektinspektor die Komponente Button2 aus, und doppelklicken Sie auf der Registerkarte Ereignisse auf das Ereignis OnClick. Der Quelltext-Editor wird angezeigt. Der Cursor befindet sich bereits im Block der Ereignisbehandlungsroutine TForm1.Button2Click.
- Geben Sie folgenden Code ein, um den Aktienpreis des zweiten untergeordneten Knotens anzuzeigen, sobald auf die Schaltfläche "MyCompany" geklickt wird:
MyCompany:=XMLDocument1.DocumentElement.ChildNodes[1]; Price:= MyCompany.ChildNodes['price'].Text; Memo1.Text := Price;
- Für C++
IXMLNode *MyCompany = XMLDocument1->DocumentElement ->ChildNodes->GetNode(1); WideString Price = MyAppDevCoStock->ChildNodes ->FindNode( "price" )->Text; Memo1->Text = Price;
- Fügen Sie in Delphi unmittelbar über dem Codeblock in der Ereignisbehandlungsroutine einen var-Abschnitt hinzu, und geben Sie die folgenden Deklarationen für lokale Variablen ein:
var
MyCompany: IXMLNode;
Price: string;
So compilieren Sie die Anwendung und führen sie aus:
- Wählen Sie Start > Start, um die Anwendung zu compilieren und auszuführen. Das Anwendungsformular enthält zwei Schaltflächen und ein Memofeld.
- Klicken Sie auf die Schaltfläche MyAppDevCo. Der Aktienpreis wird angezeigt.
- Klicken Sie auf die Schaltfläche MyCompany. Der Aktienpreis wird angezeigt.