


Introduction détaillée à l'analyse DOM dans l'analyse XML
1. Concept
Les fichiers XML sont principalement utilisés pour décrire des informations, donc après avoir obtenu un document XML, extraire les informations correspondantes en fonction des éléments du XML est une analyse XML. Il existe deux façons d'analyser XML, l'une est l'analyse DOM et l'autre est l'analyse SAX. Les deux méthodes de fonctionnement sont comme indiqué dans la figure.
2. Analyse DOM
L'analyseur XML basé sur l'analyse DOM le convertit en une collection de modèles d'objet, à l'aide d'un arbre. est une structure de données qui stocke des informations. Grâce à l'interface DOM, l'application peut accéder à n'importe quelle partie des données du document XML à tout moment. Cette méthode d'utilisation de l'interface DOM pour y accéder est également appelée accès aléatoire.
Cette méthode présente également des défauts, car l'analyseur DOM convertit l'intégralité du fichier XML en une arborescence et le stocke en mémoire. Lorsque la structure du fichier est volumineuse ou que les données sont complexes, cette méthode a des besoins en mémoire plus élevés. et parcourir un arbre avec une structure complexe est également une opération très chronophage. Cependant, la structure arborescente utilisée par DOM est cohérente avec la façon dont XML stocke les informations, et son accès aléatoire peut également être utilisé, de sorte que l'interface DOM a toujours une grande valeur d'utilisation.
Nous donnons ici un exemple pour illustrer la structure des données de conversion de XML en arbre.
<?xml version="1.0" encoding="GBK"?> <address> <linkman> <name>Van_DarkHolme</name> <email>van_darkholme@163.com</email> </linkman> <linkman> <name>Bili</name> <email>Bili@163.com</email> </linkman> </address>
La structure de conversion du XML en arbre est :
Il existe les 4 interfaces d'opération de base suivantes dans l'analyse DOM
Document : Cette interface représente l'intégralité du document XML et est représentée comme la racine de l'ensemble du DOM, qui est l'entrée de l'arborescence. Grâce à cette interface, le contenu de tous les éléments du XML est accessible. Les méthodes courantes sont les suivantes.
(Remarque : bien que cela ne soit pas illustré dans la figure ci-dessus, les attributs de nom et d'adresse e-mail constituent également respectivement un nœud)
Méthodes courantes de document
Node : Cette interface joue un rôle important dans l'ensemble de l'arborescence DOM. Les interfaces principales des opérations DOM sont héritées de Node (Document, Element, Attr). Dans l'arborescence DOM, chaque interface Node représente un nœud de l'arborescence DOM
Méthodes courantes de l'interface Node
NodeList : Cette interface représente généralement une collection de points. utilisé pour un ensemble de nœuds dans une relation ordonnée.
Méthodes courantes NodeList
NamedNodeMap : Cette interface représente la relation un-à-un entre un groupe de nœuds et leurs noms uniques, et est principalement utilisée pour représenter les attributs des nœuds
En plus des quatre interfaces principales ci-dessus, si un programme doit effectuer des opérations d'analyse DOM, il doit suivre les étapes suivantes :
1. Établissez un DocumentBuilderFactor pour obtenir. l'objet DocumentBuilder :
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
2. Créer DocumentBuidler :
DocumentBuilder builder = factory.newDocumentBuilder();
3. Créez un objet Document et obtenez l'entrée de l'arborescence :
Document doc = builder.parse("chemin relatif ou chemin absolu du fichier XML");
4.
NodeList n1 = doc .getElementByTagName("Read node");
5. Acquérir des informations XML
public class DOMDemo01 { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException{ //建立DocumentBuilderFactor,用于获得DocumentBuilder对象: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //2.建立DocumentBuidler: DocumentBuilder builder = factory.newDocumentBuilder(); //3.建立Document对象,获取树的入口: Document doc = builder.parse("src//dom_demo_02.xml"); //4.建立NodeList: NodeList node = doc.getElementsByTagName("linkman"); //5.进行xml信息获取 for(int i=0;i<node.getLength();i++){ Element e = (Element)node.item(i); System.out.println("姓名:"+ e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()); System.out.println("邮箱:"+ e.getElementsByTagName("email").item(0).getFirstChild().getNodeValue()); } } }
Le code ci-dessus sera être analysé à partir du quatrième point :
Grâce à doc.getElementByTagName("linkman"), nous obtenons une NodeList Le fichier XML ci-dessus contient deux nœuds Linkman, donc la NodeList contient ici deux nœuds (les deux nœuds Linkman), et puis via la méthode de la boucle pour obtenir les informations dans le fichier XML.
Element e = (Element)node.item(i) obtient le nœud linkman, c'est-à-dire que e pointe vers linkman
e.getElementTagName("name").item(0). getFirstChild ().getNodeValue();
getElementTagName("name"); Obtenu tous les nœuds de nom sous le linkman (en fait seulement 1
Item(0); (un seul);
getFristChild(); Récupère le nœud de texte sous le nœud de nom, qui est le nœud où se trouve le contenu (comme mentionné ci-dessus, le contenu du texte est également un nœud distinct, createTextNode() dans la liste des méthodes Document doit créer le nœud de texte);
getNodeValue() obtient la valeur du nœud de texte : van_darkholme ;
Pour plus de questions connexes, veuillez visiter le site Web PHP chinois : Tutoriel vidéo XML
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Description du scénario d'analyse de la raison de défaillance d'un composant ou du DOM de liaison Vue3ref Dans Vue3, il est souvent utilisé pour utiliser ref pour lier des composants ou des éléments DOM. Plusieurs fois, ref est clairement utilisé pour lier des composants associés, mais la liaison ref échoue souvent. Exemples de situations d'échec de liaison de référence La grande majorité des cas où la liaison de référence échoue est lorsque la référence est liée au composant, le composant n'a pas encore été rendu, donc la liaison échoue. Ou le composant n'est pas rendu au début et la référence n'est pas liée. Lorsque le composant commence à être rendu, la référence commence également à être liée, mais la liaison entre la référence et le composant n'est pas terminée. À ce stade, des problèmes surviendront. lors de l'utilisation de méthodes liées aux composants. Le composant lié à ref utilise v-if, ou son composant parent utilise v-if pour provoquer l'affichage de la page.

1. Native js obtient le nœud DOM : document.querySelector (sélecteur) document.getElementById (sélecteur d'identifiant) document.getElementsByClassName (sélecteur de classe).... 2. Récupère l'objet instance du composant actuel dans vue2 : car chaque vue Chaque L'instance de composant contient un objet $refs, qui stocke les références aux éléments ou composants DOM correspondants. Ainsi, par défaut, les $refs du composant pointent vers un objet vide. Vous pouvez d'abord ajouter ref="name" au composant, puis transmettre this.$refs.

DOM est un modèle objet de document et une interface pour la programmation HTML. Les éléments de la page sont manipulés via DOM. Le DOM est une représentation objet en mémoire d'un document HTML et fournit un moyen d'interagir avec des pages Web à l'aide de JavaScript. Le DOM est une hiérarchie (ou arbre) de nœuds avec le nœud document comme racine.

Il existe 5 objets DOM dont « document », « élément », « nœud », « événement » et « fenêtre » 2. « fenêtre », « navigateur », « emplacement » et « historique » et « écran » et 5 autres ; types d'objets de nomenclature.

Dans le développement web, DOM (DocumentObjectModel) est un concept très important. Il permet aux développeurs de modifier et d'exploiter facilement le document HTML ou XML d'une page Web, comme ajouter, supprimer, modifier des éléments, etc. La bibliothèque d'opérations DOM intégrée à PHP fournit également aux développeurs des fonctions riches. Cet article présentera le guide d'opérations DOM en PHP, dans l'espoir d'aider tout le monde. Le concept de base de DOM DOM est une API multiplateforme indépendante du langage qui peut

BOM et DOM sont différents en termes de rôle et de fonction, de relation avec JavaScript, d'interdépendance, de compatibilité des différents navigateurs et de considérations de sécurité. Introduction détaillée : 1. Rôle et fonction. La fonction principale de BOM est de faire fonctionner la fenêtre du navigateur. Il fournit un accès et un contrôle directs à la fenêtre du navigateur, tandis que la fonction principale de DOM est de convertir le document Web en une arborescence d'objets. les développeurs doivent utiliser cette arborescence d'objets pour obtenir et modifier les éléments et le contenu de la page Web ; 2. Relation avec JavaScript, etc.

dom内置对象有:1、document;2、fenêtre;3、navigateur;4、emplacement;5、historique;6、écran;7、document.documentElement;8、document.body;9、document.head;10、document .title;11、document.cookie。

DOM permet un accès dynamique et des mises à jour au contenu des pages Web, tandis que BOM fournit des API pour interagir avec les fenêtres du navigateur, notamment contrôler le comportement du navigateur et obtenir des informations sur le navigateur et l'environnement utilisateur. DOM est principalement utilisé pour exploiter le contenu des pages Web. faire fonctionner les fenêtres du navigateur et interagir avec les navigateurs. Les deux constituent ensemble une base importante dans le développement frontal Web, fournissant aux développeurs des méthodes riches pour contrôler et exploiter les pages Web et les navigateurs afin d'obtenir une forte interactivité et des applications Web avec une bonne expérience utilisateur.
