Maison >développement back-end >Tutoriel XML/RSS >XML Learning (2) Explication détaillée des opérations DOM sur les documents XML
Aux yeux du DOM, HTML est un document arborescent comme XML. Chaque nœud est traité comme un objet Node de différents types. Chaque objet Node possède ses propres propriétés et méthodes, qui peuvent être utilisées pour parcourir l'intégralité de l'arborescence du document. DOM définit nodeType pour représenter le type de nœud
interface |
nodeType Constante |
valeur nodeType |
Remarques |
Élément |
Node.ELEMENT_NODE |
1 |
Nœud d'élément |
Texte |
Node.TEXT_NODE |
3 |
Nœud de texte |
Document |
Node.DOCUMENT_NODE |
9 |
document |
Commentaire |
Node.COMMENT_NODE |
8 |
注释的文本 |
DocumentFragment |
Node.DOCUMENT_FRAGMENT_NODE |
11 |
document片断 |
Attr |
Node.ATTRIBUTE_NODE |
2 |
Attributs du nœud |
Le nœud racine de l'arborescence DOM est un objet Document, et parfois le document pointe vers le document entier.
La plupart des méthodes définies par Document sont des méthodes de production, principalement utilisées pour créer différents types de nœuds pouvant être insérés dans des documents. Les méthodes de document couramment utilisées sont :
Méthode |
Description |
createAttribute() |
Créer avec le nom spécifié Nouveau nœud Attr. |
createComment() |
Utiliser la chaîne spécifiée Créer un nouveau nœud Commentaire. |
createElement() |
avec le tagname spécifié Créer un nouveau nœud Element. |
createTextNode() |
Créer avec le texte spécifié Nouveau nœud TextNode. |
getElementById() |
Renvoie le nœud Element avec l'attribut id spécifié dans le document. |
getElementsByTagName() |
Renvoie le document avec le spécifié tous les nœuds d'élément du nom de variable. |
Élément méthodes couramment utilisées :
méthode |
Description |
getAttribute() |
Renvoie la valeur de la propriété spécifiée sous forme de chaîne. |
getAttributeNode() |
sous la forme d'Attr node Renvoie la valeur de la propriété spécifiée. |
getElementsByTabName() |
Renvoie un nœudTableau contenant les nœuds descendants de tous les nœuds Element avec le nom de balise spécifié, dans l'ordre dans lequel ils apparaissent dans le document. |
hasAttribute() |
Si l'élément a le attribut Nom spécifié, renvoie vrai. |
removeAttribute() |
Supprime l'attribut spécifié de l'élément. |
removeAttributeNode() |
De la liste des attributs de l'élément Supprimez le nœud Attr spécifié. |
setAttribute() |
Définir l'attribut spécifié pour la valeur de chaîne spécifiée, ajoute un nouvel attribut s'il n'existe pas. |
setAttributeNode() |
Définir le nœud Attr spécifié Ajouté à la liste d'attributs de l'élément. |
Attributs |
description |
attributs |
Si le nœud est un Element, renvoie les attributs de l'élément sous la forme de NamedNodeMap. Les |
childNodes |
sont stockés sous forme de Node [] Les nœuds enfants du nœud actuel. S'il n'y a pas de nœuds enfants, un tableau vide est renvoyé. |
firstChild |
Renvoyer le nœud actuel dans le formulaire de Node le premier nœud enfant. null s'il n'y a pas de nœuds enfants. |
lastChild |
Renvoie le nœud actuel sous la forme de Node le dernier nœud enfant de . C'est nul s'il n'y a pas de nœuds enfants. |
suivantSibling |
Renvoie le nœud suivant qui est le frère du nœud actuel sous la forme de Node. S'il n'existe pas de tel nœud, null est renvoyé. |
nodeName |
Le nom du nœud, Element node is Représente le nom de balise de l'élément. |
nodeType |
représente le type de nœud. |
parentNode |
Renvoie le nœud actuel sous la forme du nœud parent de Node. S'il n'y a pas de nœud parent, c'est nul. |
previousSibling |
Renvoie en tant que nœud Le nœud actuel et ses nœuds frères précédents. S'il n'existe pas de tel nœud, null est renvoyé. |
Méthodes courantes des objets nœuds :
Méthode |
Description |
appendChild() |
En ajoutant un nœud à The Le groupe childNodes[] du nœud actuel ajoute des nœuds à l'arborescence du document. |
cloneNode() |
Copiez le nœud actuel, ou Copie le nœud actuel et tous ses nœuds descendants. |
hasChildNodes() |
Si le nœud actuel a nœud enfants, il retournera vrai. |
insertBefore() |
Insérer un nœud d'arborescence de documents , situé avant le nœud enfant spécifié du nœud actuel. Si le nœud existe déjà, supprimez-le et insérez-le à sa place. |
removeChild() |
Supprimer de l'arborescence du document et renvoie le nœud enfant spécifié. |
replaceChild() |
Supprime et renvoie le nœud enfant spécifié de l'arborescence du document , remplacez-le par un autre nœud. |
Le code suivant récupère la valeur texte du premier b2386ffb911b14667cb8f0f91ea547a7 element :
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];txt=x.nodeValue; //其实应该先判断节点是否存在
Résultat : txt = "Harry Potter"
Le code suivant récupère le " du premier < ;title> element Valeur texte de l'attribut lang" :
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
Résultat : txt = "fr"
Le Le code suivant modifie la première valeur texte < ;title> de l'élément :
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="Easy Cooking";
La méthode setAttribute() peut être utilisée pour modifier la valeur d'un attribut existant ou créez un nouvel attribut.
Le code suivant ajoute un nouvel attribut appelé "edition" (avec une valeur de "first") à chaque élément 463aef0d2da08708f472268a99530dbe :
x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++) { x[i].setAttribute("edition","first"); }
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);Explication de l'exemple :
Supprimer l'élément
x=xmlDoc.getElementsByTagName("book")[0];x.removeChild(x.childNodes[0]);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!