L'objet IXMLDOMText représente le contenu textuel d'un élément ou d'un attribut.

Un objet DOM textuel est créé par l'intermédiaire de la méthode createTextNode appliquée à l'objet DOMDocument.

Set Objet_DOMText = obj_dom.createTextNode("nom_noeud")

L'attribution d'un objet IXMLDOMText à un noeud élément ou attribut, s'effectue au moyen de la méthode appendChild de l'objet IXMLDOMNode.

objet_DOMNode.appendChild objet_DOMText

Le langage XML se réfère à ce contenu textuel comme les données de caractère et le distingue du marquage, soit les balises qui modifient ces données de caractère.
S'il n'y a aucun marquage à l'intérieur d'un élément, le texte de l'élément est contenu dans l'objet IXMLDOMText unique qui est l'enfant de l'élément.
S'il y a du marquage à l'intérieur d'un élément, il est analysé syntaxiquement à l'intérieur des éléments enfants qui sont des frères de l'objet IXMLDOMText.
Le contenu des éléments de marquage apparaît aussi dans des noeuds de texte, qui sont les enfants de l'élément de marquage spécifique.

Lorsqu'un document est d'abord rendu disponible au Modèle d'Objet de Document XML (DOM), tout le texte est normalisé : il y a seulement un noeud textuel pour chaque bloc de texte.
Les utilisateurs peuvent créer des noeuds de texte adjacents qui représentent le contenu d'un élément donné sans n'importe quel marquage intervenant, mais doivent être conscients qu'il n'y a aucune façon de représenter les séparations entre ces noeuds, donc ils ne persisteront pas entre des sessions de DOM XML.

La méthode normalize sur l'objet IXMLDOMElement fusionne les noeuds textuels adjacents à l'intérieur d'un unique noeud.

objet_DOMElement.normalize

Il est possible de normaliser avant le démarrage de n'importe quels opérations dépendant d'une structure de document particulière pour assurer que des sessions suivantes fonctionneront sur la même structure.

Les Propriétés
Propriété
Description
Set Objet_NamedNodeMap = Objet_Text.attributes
contient la liste des attributs pour ce noeud en lecture seule.
Chaîne = Objet_Text.baseName
retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule.
Set Objet_NodeList = Objet_Text.childNodes
contient une liste de noeuds contenant les enfants en lecture seule.
Chaîne = Objet_Text.data
contient les données du noeud CDATA, en lecture et écriture.
Valeur = Objet_Text.dataType
indique le type de données pour ce noeud en lecture et écriture.
Set Objet_Node = Objet_Text.definition
retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule.
Set Objet_Node = Objet_Text.firstChild
contient le premier enfant de ce noeud en lecture seule.
Set Objet_Node = Objet_Text.lastChild
retourne le dernier noeud enfant en lecture seule.
Valeur = Objet_Text.length
spécifie la longueur, en caractères des données, en lecture seule.
Chaîne = Objet_Text.namespaceURI
retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule.
Set Objet_Node = Objet_Text.nextSibling
contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule.
Chaîne = Objet_Text.nodeName
contient le nom qualifié de l'élément, l'attribut, la référence d'entité ou une chaîne de caractères fixée pour d'autres types de noeud en lecture seule.
Valeur = Objet_Text.nodeType
spécifie le type de noeud XML DOM qui détermine des valeurs valides et si le noeud peut avoir des noeuds enfants en lecture seule.
Objet_Valeur = Objet_Text.nodeTypedValue
contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture.
Chaîne = Objet_Text.nodeTypeString
retourne le type de noeud dans une forme de chaîne de caractères en lecture seule.
Valeur = Objet_Text.nodeValue
contient le texte associé avec le noeud en lecture et écriture.
Set Objet_Document = Objet_Text.ownerDocument
retourne la racine du document qui contient ce noeud en lecture seule.
Set Objet_Node = Objet_Text.parentNode
contient le noeud parent en lecture seule.
True | False = Objet_Text.parsed
contient la valeur True si le noeud et tous ses descendants ont été analysées et instanciées, ou False si n'importe quels noeuds restent à être analysées en lecture seule.
Valeur = Objet_Text.prefix
retourne le préfixe d'espace de noms en lecture seule.
Set Objet_Node = Objet_Text.previousSibling
contient le frère gauche de ce noeud en lecture seule.
True | False = Objet_Text.specified
indique si le noeud est explicitement spécifié ou dérivé d'une valeur par défaut dans le DTD ou le schéma en lecture seule.
Chaîne = Objet_Text.text
contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture.
Valeur = Objet_Text.xml
contient la représentation XML du noeud et de tous ses descendants en lecture seule.
Les Méthodes
Méthode
Description
Set Objet_Node = Objet_Text.appendChild(Nouvel_Enfant)
ajoute un nouvel enfant comme le dernier enfant de ce noeud.
Objet_Text.appendData(Chaîne)
ajoute la chaîne de caractères spécifiée aux données textuelles existantes.
Set Objet_Node = Objet_Text.cloneNode(Bool_Profondeur)
crée un nouveau noeud qui est un double exact de ce noeud.
Objet_Text.deleteData(Position, Nb_Caractères)
supprime la sous-chaîne de caractères à l'intérieur de données textuelles.
True | False = Objet_Text.hasChildNodes()
retourne True si le noeud a des enfants.
Set Objet_Node = Objet_Text.insertBefore(Nouvel_Enfant, Référence)
insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste.
Objet_Text.insertData(Position)
insère la chaîne spécifiée à la position indiquée.
Set Objet_Node = Objet_Text.removeChild(Noeud_Enfant)
enlève le noeud enfant spécifié de la liste d'enfant et le retourne.
Set Objet_Node = Objet_Text.replaceChild(Nouvel_Enfant, Ancien_Enfant)
remplace l'ancien noeud enfant spécifié par le nouveau noeud enfant fourni dans le jeu d'enfants de ce noeud.
Objet_Text.replaceData(Position, Nb_Caractères, Données)
remplace le nombre de caractères spécifiés par la chaîne de caractères fournie.
Set Objet_NodeList = Objet_Text.selectNodes(Expression_Pattern)
applique l'opération de mise en correspondance de modèles indiquée au contexte de ce noeud et retourne la liste de noeuds correspondants.
Set Objet_Node = Objet_Text.selectSingleNode(Chaîne_Requête)
applique l'opération de mise en correspondance de modèles indiquée au contexte de ce noeud et retourne la liste de premier noeud correspondant.
True | False = Objet_Text.specified
indique si le noeud est explicitement spécifié ou dérivé d'une valeur par défaut dans le DTD ou le schéma en lecture seule.
Set Objet_Text = Objet_Text.splitText(Position)
découpe le texte du noeud à l'intérieur de deux noeuds textuels à la position spécifiée et insère le nouveau texte dans l'arborexcence comme un frère qui suit immédiatement le noeud.
Chaîne = Objet_Text.substringData(Position, Nb_Caractères)
récupère une sous-chaîne de caractères d'une chaîne complète à l'intervalle spécifié.
Chaîne = Objet_Text.transformNode(Objet_StyleSheet)
traite ce noeud et ses enfants utilisant la feuille de style de tranformation (XSLT) indiquée et retourne la transformation résultante.
Objet_Text.transformNodeToObject(Feuille_Style, Objet)
traite ce noeud et ses enfants utilisant la feuille de style de tranformation (XSLT) indiquée et retourne la transformation résultante dans l'objet fourni.
Exemple [voir]
<%
  Const OpenFileForReading = 1

  Dim obj_fso, obj_dom, obj_log, racine
  Dim obj_client, obj_document, obj_protocole, obj_code, obj_methode
  Dim document_txt, protocole_txt, code_txt, methode_txt
  Dim adresse_attr, adresse_txt, poids_attr, poids_txt
  Dim adresse_ip, methode, document, protocole, code, poids
  Dim tableau, elt_adresse, i
  i = 1

  Set obj_fso = Server.CreateObject("Scripting.FileSystemObject")
  fichier = Server.MapPath("fichier_log.txt")
  Set obj_log = obj_fso.OpenTextFile(fichier, OpenFileForReading)

  Set obj_dom = Server.CreateObject("MSXML2.DOMDocument")
  Set racine = obj_dom.createElement("statistique")
  obj_dom.appendChild racine

  Do While Not obj_log.AtEndOfStream
    ligne = obj_log.ReadLine
    tableau = Split(ligne, " ", -1, 1)
    elt_adresse = Split(tableau(3), ",", -1, 1)

    adresse_ip = tableau(0)
    methode = Right(elt_adresse(0), Len(elt_adresse(0)) - 1)
    document = elt_adresse(1)
    protocole = Left(elt_adresse(2), Len(elt_adresse(2)) - 1)
    code = tableau(4)
    poids = tableau(5)

    Set obj_client = obj_dom.createElement("client")
    Set adresse_attr = obj_dom.createAttribute("adresse_ip")
    Set adresse_txt = obj_dom.createTextNode(adresse_ip)
    obj_client.setAttributeNode(adresse_attr)

    Set obj_document = obj_dom.createElement("document")
    Set document_txt = obj_dom.createTextNode(document)
    Set poids_attr = obj_dom.createAttribute("poids")
    Set poids_txt = obj_dom.createTextNode(poids)
    obj_document.setAttributeNode(poids_attr)

    Set obj_protocole = obj_dom.createElement("protocole")
    Set protocole_txt = obj_dom.createTextNode(protocole)

    Set obj_code = obj_dom.createElement("code")
    Set code_txt = obj_dom.createTextNode(code)

    Set obj_methode = obj_dom.createElement("methode")
    Set methode_txt = obj_dom.createTextNode(methode)

    poids_attr.appendChild poids_txt
    adresse_attr.appendChild adresse_txt

    obj_document.appendChild document_txt
    obj_protocole.appendChild protocole_txt
    obj_code.appendChild code_txt
    obj_methode.appendChild methode_txt

    obj_client.appendChild obj_document
    obj_client.appendChild obj_protocole
    obj_client.appendChild obj_code
    obj_client.appendChild obj_methode

    racine.appendChild obj_client

    i = i + 1
  Loop

  obj_dom.save(Server.MapPath("fichier_log.xml"))

  obj_log.close
  Set obj_log = Nothing
%>
Fichier : fichier_log.txt
65.116.145.133 - - "GET,/coursjavascript/style.html,HTTP/1.1" 200 16169
212.30.116.74 - - "GET,/javascript/initialisation.js,HTTP/1.1" 200 9065
255.210.164.174 - - "GET,/coursdomxml/objet_element.html,HTTP/1.1" 200 9055
212.220.155.128 - - "GET,/coursdomxml/objet_text.html,HTTP/1.1" 200 8865