Maison développement back-end Tutoriel XML/RSS Introduction détaillée à l'analyse DOM dans l'analyse XML

Introduction détaillée à l'analyse DOM dans l'analyse XML

Aug 26, 2019 pm 05:30 PM
dom

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.

Introduction détaillée à lanalyse DOM dans lanalyse XML

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 :

Introduction détaillée à lanalyse DOM dans lanalyse XML

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

Introduction détaillée à lanalyse DOM dans lanalyse XML

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

Introduction détaillée à lanalyse DOM dans lanalyse XML

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

Introduction détaillée à lanalyse DOM dans lanalyse XML

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());
		}	
		
	}
}

Introduction détaillée à lanalyse DOM dans lanalyse XML

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

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

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Quelle est la raison pour laquelle la liaison ref à dom ou composant échoue dans vue3 et comment la résoudre Quelle est la raison pour laquelle la liaison ref à dom ou composant échoue dans vue3 et comment la résoudre May 12, 2023 pm 01:28 PM

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.

Quels sont les moyens d'obtenir des nœuds DOM dans Vue3 Quels sont les moyens d'obtenir des nœuds DOM dans Vue3 May 11, 2023 pm 04:55 PM

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.

Que signifie vue dom ? Que signifie vue dom ? Dec 20, 2022 pm 08:41 PM

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.

Que sont les objets dom et bom ? Que sont les objets dom et bom ? Nov 13, 2023 am 10:52 AM

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.

Guide de manipulation du DOM en PHP Guide de manipulation du DOM en PHP May 21, 2023 pm 04:01 PM

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

Quelle est la différence entre bom et dom Quelle est la différence entre bom et dom Nov 13, 2023 pm 03:23 PM

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.

Quels sont les objets intégrés du DOM ? Quels sont les objets intégrés du DOM ? Dec 19, 2023 pm 03:45 PM

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。

Que réalisent dom et bom ? Que réalisent dom et bom ? Nov 20, 2023 pm 02:28 PM

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.

See all articles