L'objet IXMLDOMSelection représente la liste de noeuds qui correspond à un modèle XSL ou à une expression XPath.

Set Objet_Selection = _
                Objet_Document2.selectNodes(Expression)

L'objet IXMLDOMSelection est créé par l'intermédiaire de la méthode selectNodes de l'objet IXMLDOMDocument2. Cet objet est une extension du DOM du W3C (Worldwide Web Consortium).

Les Propriétés
Propriété
Description
Set Objet_Node = Objet_Selection.context
indique un noeud à appliquer à une sélection.
Expression = Objet_Selection.expr
obtient ou fixe une expression XPath.
Valeur = Objet_Selection.length
indique le nombre d'items d'une collection.
Les Propriétés
Propriété
Description
Set Autre_Objet_Selection = Objet_Selection.clone
génére une copie exacte de l'objet XMLDOMSelection courant.
Chaîne = Objet_Selection.getProperty(Nom)
obtient une propriété par son nom.
Set Objet_Node = Objet_Selection.item(Index)
permet un accès aléatoire à des noeuds individuels à l'intérieur d'une collection.
Set Objet_Node = Objet_Selection.matches(Objet_Node)
vérifie si le noeud est contenu dans la collection.
Set Objet_Node = Objet_Selection.nextNode
retourne le noeud textuel dans une collection.
Set Objet_Node = Objet_Selection.peekNode
obtient le noeud textuel que la méthode nextNode retournerait sans avancer la position de ligne.
Objet_Selection.removeAll
enlève tous les noeuds du contexte courant qui correspondent à la requête.
Set Objet_Node = Objet_Selection.removeNext
enlève le noeud textuel qui est retourné par la méthode peekNode ou nextNode.
Objet_Selection.reset
réinitialise la position de la liste.
Exemple [voir]
<%
  Dim obj_dom, objet_selection, i
  Dim fichier, noeud, expression

  Set obj_dom = Server.CreateObject("Msxml2.DOMDocument")
  obj_dom.async = false
  fichier = Server.MapPath("logitheque.xml")
  obj_dom.load(fichier)

  obj_dom.setProperty "SelectionLanguage", "XPath"
  Set objet_selection = obj_dom.selectNodes("//categorie[6]/logiciel/nom")
  expression = objet_selection.expr

  Response.Write "<u>Contenu de la sélection récupérée par l'expression <i>" _
                 & objet_selection.getProperty("SelectionLanguage") _
                 & "</i> suivante :</u> <b>" & expression & "</b><hr>"

  For i = 0 To objet_selection.length - 1
    Set noeud = objet_selection.item(i)
    Response.Write i & "- <b>" & noeud.nodeName & "</b> : " & noeud.text & "<br>"
  Next
%>