Anwendungen mit XML-Komponenten erstellen

Aus RAD Studio
Wechseln zu: Navigation, Suche

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:

  1. Erstellen eines XML-Dokuments.
  2. Erstellen eines VCL-Formulars.
  3. Einfügen einer XMLDocument-Komponente in das Formular und Verknüpfen mit der XML-Datei.
  4. Erstellen von VCL-Komponenten für die Anzeige des XML-Dateiinhalts.
  5. Schreiben von Ereignisbehandlungsroutinen für die Anzeige des Inhalts von untergeordneten Knoten in der XML-Datei.
  6. Compilieren und Ausführen der Anwendung.

So erstellen Sie das XML-Dokument:

  1. 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>
  1. Speichern Sie die Datei als XML-Dokument auf dem lokalen Laufwerk. Weisen Sie ihr den Namen stock.xml zu.
  2. Ö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:

  1. 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.
  2. Ziehen Sie aus der Seite Internet der Tool-Palette eine TXMLDocument-Komponente auf das Formular.
  3. 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.
  4. Setzen Sie im Objektinspektor die Eigenschaft Active auf True.

So richten Sie die VCL-Komponenten ein:

  1. Ziehen Sie aus der Seite Standard der Tool-Palette eine TMemo-Komponente auf das Formular.
  2. Ziehen Sie aus der Seite Standard der Tool-Palette zwei TButton-Komponenten unmittelbar über Memo1 auf das Formular.
  3. Wählen Sie im Objektinspektor die Komponente Button1 aus, und geben Sie für die Eigenschaft Caption den Wert MyAppDevCo ein.
  4. 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:

  1. 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.
  2. 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;
  1. 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;
    
  2. 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.
  3. 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;
    
  4. 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:

  1. Wählen Sie Start > Start, um die Anwendung zu compilieren und auszuführen. Das Anwendungsformular enthält zwei Schaltflächen und ein Memofeld.
  2. Klicken Sie auf die Schaltfläche MyAppDevCo. Der Aktienpreis wird angezeigt.
  3. Klicken Sie auf die Schaltfläche MyCompany. Der Aktienpreis wird angezeigt.

Siehe auch