Numéro d'article: 303516 - Dernière mise à jour: lundi 30 août 2004 - Version: 1.2

Comment faire pour utiliser le starts-with() fonction XPath

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.

Sommaire

Agrandir tout | Réduire tout

Résumé

Il est une exigence commune programmation lorsque vous chargez et analyser un document XML à l'aide de DOM (Microsoft XML (MSXML) Document Object Model) pour identifier les éléments ou des éléments avec des attributs dont les valeurs commencent par un caractère spécifique ou une séquence de caractères. Cet article contient un exemple de code qui illustre comment vous pouvez utiliser la démarre, avec fonction de chaîne (XPath) XML Path Language pour implémenter cette exigence.

Plus d'informations

Exemple pas à pas

  1. Dans le bloc-notes, créez un nouveau document XML nommé Books.xml et collez le code XML suivant :
    <?xml version="1.0"?>
    <!-- This file represents a fragment of a bookstore inventory database -->
    <bookstore specialty="novel">
      <book style="autobiography">
        <author>
          <first-name>Joe</first-name>
          <last-name>Bob</last-name>
          <award>Trenton Literary Review Honorable Mention</award>
        </author>
        <price>12</price>
      </book>
      <book style="textbook">
        <author>
          <first-name>Mary</first-name>
          <last-name>Bob</last-name>
          <publication>Selected Short Stories of
            <first-name>Mary</first-name>
            <last-name>Bob</last-name>
          </publication>
        </author>
        <price>55</price>
      </book>
    </bookstore>
    					
  2. Enregistrez Books.xml dans le dossier racine du lecteur c.
  3. Ouvrez un nouveau projet EXE standard dans Microsoft Visual Basic. Form1 est créé par défaut.
  4. Dans le menu projet , cliquez sur Références , puis activez la case à cocher Microsoft XML 3.0 .
  5. Faites glisser un bouton de commande et déposez-la sur Form1.
  6. Copiez et collez le code suivant dans la procédure événementielle Click du bouton de commande :
    Dim doc As MSXML2.DOMDocument
    Dim nlist As MSXML2.IXMLDOMNodeList
    Dim node As MSXML2.IXMLDOMNode
    
    Set doc = New MSXML2.DOMDocument
    doc.setProperty "SelectionLanguage", "XPath"
    doc.Load "c:\books.xml"
    Set nlist = doc.selectNodes("//book/author/first-name[starts-with(.,'M')]")
    MsgBox "Matching Nodes : " & nlist.length
    
    For Each node In nlist
      Debug.Print node.nodeName & " : " & node.Text
    Next
    					
  7. Le code précédent charge le code XML à partir de Books.xml dans une instance de l'objet DOMDocument MSXML . Il exécute ensuite une requête XPath qui utilise le démarre, avec fonction XPath pour identifier tous les auteurs dont le premier nom commence par la lettre M . Enfin, la boucle for parcourt les n?uds sélectionnés et affiche les noms premier des éléments auteur correspondant.
  8. Le premier paramètre de la démarre, avec fonction XPath sert à spécifier le n?ud source ou la chaîne par rapport à laquelle doit être exécutée la comparaison. Le deuxième paramètre est la chaîne de modèle qui spécifie le caractère ou une séquence de caractères à utiliser lors de la comparaison. Il est important de se souvenir que le modèle de chaîne qui est fournie en tant que deuxième paramètre de la démarre, avec fonction respecte la casse.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft XML Parser 3.0
  • Microsoft XML Parser 3.0 Service Pack 1
Mots-clés : 
kbmt kbhowto KB303516 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 303516  (http://support.microsoft.com/kb/303516/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.