L'objet IXMLDOMElement représente l'objet élément dans l'arborescence d'un document XML.
Un objet élément est créé par l'intermédiaire de la méthode createElement appliquée à l'objet DOMDocument.
Objet_DOMElement = _ objet_DOMDocument.createElement(nom_element)
Les noeuds éléments sont parmi les objets les plus communs dans l'arborescence d'un document XML.
Ils peuvent possèder des attributs qui ne sont pas définis comme des noeuds enfants d'un élément et ne sont pas considérés comme étant une partie de l'arborescence d'un document XML.
Les noeuds éléments peuvent contenir d'autres noeuds éléments, du texte, ou être vide.
L'affectation d'un élément à un objet IXMLDOMElement parent s'effectue au moyen de la méthode appendChild.
NouedElement_Recepteur.appendChild(Noeud_Affecté)
L'insertion d'une valeur textuelle à l'intérieur des marqueurs d'un objet IXMLDOMElement doit passer par la création d'un noeud textuel (createTextNode), puis de l'affectation (appendChild)de ce dernier à l'élément récepteur.
Set Noeud_Texte = obj_DOMDocument.createTextNode(valeur) Noued_Element.appendChild(Noeud_Texte)
Les attributs sont affectés à un élément par l'intermédiaire de la méthode setAttributeNode ou setAttribute de l'objet IXMLDOMElement.
objet_DOMElement.setAttribute nom_attribut, valeur_attribut Set Noeud_attribut = _ obj_DOMDocument.createAttribute(nom_attribut) Set valeur_attribut = obj_DOMDocument.createTextNode(valeur) Noeud_attribut.appendChild valeur_attribut objet_DOMElement.setAttributeNode(Noeud_attribut)
En conséquence, l'objet IXMLDOMElement fournit des méthodes permettant de gérer facilement les attributs, en incluant les méthodes pour associer un attribut à un élément, pour récupérer un objet attribut et sa valeur ou encore pour les supprimer.
Valeur = objet_DOMElement.getAttribute(Nom) Set Objet_Attribut = objet_DOMElement.getAttributeNode(Nom) objet_DOMElement.removeAttribute(Nom)
Pour récupérer le jeu d'attributs associé à un élément, il est possible d'appeler la propriété attributes qui retourne une collection d'objet IXMLDOMNamedNodeMap contenant tous les éléments attributs.
Les PropriétésSet Liste_Attributs = Objet_DOMElement.attributes
Propriété |
---|
Description |
Set Objet_NamedNodeMap = Objet_DOMElement.attributes |
contient la liste des attributs pour ce noeud en lecture seule. |
Chaîne = Objet_DOMElement.baseName |
retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule. |
Set Objet_NodeList = Objet_DOMElement.childNodes |
contient une liste de noeuds contenant les enfants en lecture seule. |
Valeur = Objet_DOMElement.dataType |
indique le type de données pour ce noeud en lecture et écriture. |
Set Objet_Node = Objet_DOMElement.definition |
retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule. |
Set Objet_Node = Objet_DOMElement.firstChild |
contient le premier enfant de ce noeud en lecture seule. |
Set Objet_Node = Objet_DOMElement.lastChild |
retourne le dernier noeud enfant en lecture seule. |
Chaîne = Objet_DOMElement.namespaceURI |
retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule. |
Set Objet_Node = Objet_DOMElement.nextSibling |
contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule. |
Chaîne = Objet_DOMElement.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_DOMElement.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. |
Chaîne = Objet_DOMElement.nodeTypeString |
retourne le type de noeud dans une forme de chaîne de caractères en lecture seule. |
Valeur = Objet_DOMElement.nodeValue |
contient le texte associé avec le noeud en lecture et écriture. |
Set Objet_Document = Objet_DOMElement.ownerDocument |
retourne la racine du document qui contient ce noeud en lecture seule. |
Set Objet_Node = Objet_DOMElement.parentNode |
contient le noeud parent en lecture seule. |
True | False = Objet_DOMElement.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_DOMElement.prefix |
retourne le préfixe d'espace de noms en lecture seule. |
set Objet_Node = Objet_DOMElement.previousSibling |
contient le frère gauche de ce noeud en lecture seule. |
True | False = Objet_DOMElement.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_DOMElement.tagName |
contient le nom de l'élément, en lecture seule. |
Chaîne = Objet_DOMElement.text |
contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture. |
Valeur = Objet_DOMElement.xml |
contient la représentation XML du noeud et de tous ses descendants en lecture seule. |
Méthode |
---|
Description |
Set Objet_Noeud = Objet_DOMElement.appendChild(Nouvel_Enfant) |
ajoute un nouvel enfant comme le dernier enfant de ce noeud. |
Set Objet_Noeud = Objet_DOMElement.cloneNode(Bool_Profondeur) |
crée un nouveau noeud qui est un double exact de ce noeud. |
Valeur = Objet_DOMElement.getAttribute(Nom) |
retourne la valeur de l'attribut nommé. |
Set Objet_Attribute = Objet_DOMElement.getAttributeNode(Nom) |
retourne le noeud de l'attribut nommé. |
Set Objet_ListeNoeud = Objet_DOMElement.getElementsByTagName(Nom) |
retourne une collection d'éléments qui porteront le nom indiqué. |
True | False = Objet_DOMElement.hasChildNodes() |
retourne True si le noeud a des enfants. |
Set Objet_Noeud = Objet_DOMElement.insertBefore(Nouvel_Enfant, Référence) |
insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste. |
Objet_DOMElement.normalize |
normalise tous les éléments descendants et combine deux ou plusieurs noeuds textuels adjacents à l'intérieur d'un noeud textuel unifié. |
Objet_DOMElement.removeAttribute(Nom) |
enlève ou remplace les attributs nommés. |
Set Objet_Attribute = Objet_DOMElement.removeAttributeNode(Objet_Attribute) |
enlève l'attribut spécifié à partir de l'élément. |
Set Objet_Noeud = Objet_DOMElement.removeChild(Noeud_Enfant) |
enlève le noeud enfant spécifié de la liste d'enfant et le retourne. |
Set Objet_Noeud = Objet_DOMElement.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. |
Set Objet_ListeNoeud = Objet_DOMElement.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_Noeud = Objet_DOMElement.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. |
Objet_DOMElement.setAttribute(Nom, Valeur) |
attribue la valeur de l'attribut nommé. |
Set Objet_Attribute = Objet_DOMElement.setAttributeNode(Objet_Attribute) |
ajoute ou modifie le noeud d'attribut fourni de l'élément. |
valeur_chaine = Objet_DOMElement.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_DOMElement.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. |
<% 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_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") obj_client.setAttribute "adresse_ip", adresse_ip 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 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 %> |