Construction d'une application avec des composants XML

De RAD Studio
Aller à : navigation, rechercher

Remonter à Comment construire des applications Fiches VCL


Cet exemple crée une application VCL Forms qui utilise un composant XMLDocument pour afficher le contenu d'un fichier XML.

Les étapes de base sont les suivantes :

  1. Créer un document XML.
  2. Créer une fiche VCL.
  3. Placer un composant XMLDocument sur la fiche et l'associer au fichier XML.
  4. Créer des composants VCL pour permettre l'affichage du contenu du fichier XML.
  5. Ecrire des gestionnaires d'événement pour afficher le contenu des noeuds enfant XML.
  6. Compiler et exécuter l'application.

Pour créer le document XML

  1. Copiez le texte ci-dessous dans un fichier dans un éditeur de texte.
<?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. Enregistrez le fichier sur votre disque local en tant que document XML. Donnez-lui un nom, par exemple stock.xml.
  2. Ouvrez le document dans votre navigateur. Le contenu devrait s'afficher sans erreur.

Remarque : Dans le navigateur, vous pouvez choisir Voir > Source pour visualiser le fichier source dans l'éditeur de texte.

Pour créer une fiche avec un composant XMLDocument

  1. Choisissez Fichier > Nouveau > Autre > Projets Delphi ou Projets C++Builder et double-cliquez sur l'icône Application Fiches VCL. Le Concepteur de fiches VCL apparaît.
  2. A partir de la page Internet de la palette d'outils, placez un composant TXMLDocument sur la fiche.
  3. Dans l'inspecteur d'objets, cliquez sur les points de suspension à côté de la propriété FileName, naviguez jusqu'à l'emplacement du fichier XML que vous avez créé, et ouvrez-le. Le fichier XML est associé au composant TXMLDocument.
  4. Dans l'inspecteur d'objets, définissez la propriété Active sur true.

Pour configurer les composants VCL

  1. A partir de la page Standard de la palette d'outils, placez un composant TMemo sur la fiche.
  2. A partir de la page Standard de la palette d'outils, placez deux composants TButton sur la fiche juste au-dessus de Memo1.
  3. Dans l'inspecteur d'objets, avec Button1 sélectionné, entrez MyAppDevCo pour la propriété Caption.
  4. Dans l'inspecteur d'objets, avec Button2 sélectionné, entrez MyCompany pour la propriété Caption.

Pour afficher le contenu des noeuds enfant dans le fichier XML

  1. Dans l'inspecteur d'objets, avec Button1 sélectionné, double-cliquez sur l'événement OnClick dans l'onglet Evénements. Le code s'affiche avec le curseur dans le bloc du gestionnaire d'événement TForm1.Button1Click.
  2. Entrez le code suivant pour afficher le cours de l'action pour le premier noeud enfant lorsque l'utilisateur clique sur le bouton MyAppDevCo :
  MyAppDevCoStock:=XMLDocument1.DocumentElement.ChildNodes[0];
  Price:= MyAppDevCoStock.ChildNodes['price'].Text;
  Memo1.Text := Price; 
Pour C++
IXMLNode *MyAppDevCoStock = XMLDocument1->DocumentElement->
			ChildNodes->GetNode(0);
WideString Price = MyAppDevCoStock->ChildNodes->
			FindNode( "price" )->Text;
Memo1->Text = Price;
  1. Pour Delphi, ajoutez une section var juste au-dessus du bloc de code dans le gestionnaire d'événement, et entrez les déclarations de variables locales suivantes : var MyAppDevCoStock: IXMLNode; Price: string;
  2. Dans l'inspecteur d'objets, avec Button2 sélectionné, double-cliquez sur l'événement OnClick de l'onglet Evénements. Le code s'affiche, avec le curseur dans le bloc du gestionnaire d'événement TForm1.Button2Click.
  3. Entrez le code suivant pour afficher le cours de l'action pour le deuxième noeud enfant lorsque l'utilisateur clique sur le bouton MyCompany :
  4.   MyCompany:=XMLDocument1.DocumentElement.ChildNodes[1];
      Price:= MyCompany.ChildNodes['price'].Text;
      Memo1.Text := Price;
    
    Pour C++
    IXMLNode *MyCompany = XMLDocument1->DocumentElement
    		->ChildNodes->GetNode(1);
    WideString Price = MyAppDevCoStock->ChildNodes
    		->FindNode( "price" )->Text;
    Memo1->Text = Price;
    
  5. Pour Delphi, ajoutez une section var juste au-dessus du bloc de code dans le gestionnaire d'événement, et entrez les déclarations de variables locales suivantes :
var
  MyCompany: IXMLNode;
  Price: string;

Pour compiler et exécuter l'application

  1. Choisissez Exécuter > Exécuter pour compiler et exécuter l'application. La fiche de l'application affiche deux boutons et un mémo.
  2. Cliquez sur le bouton MyAppDevCo. Le cours de l'action s'affiche.
  3. Cliquez sur le bouton MyCompany. Le cours de l'action s'affiche.

Voir aussi