Objet objet intégré

ObjetXmlDocument

XmlDocument est xmlUn objet du module, qui représente l'intégralité du document XML et donne accès à l'intégralité du document.

XmlDocument est la racine d'une arborescence de documents et contient tous les nœuds de l'intégralité du document XML. L'objet XmlDocument fournit également les fonctions suivantes :

  1. Créez des nœuds d'éléments, des nœuds de texte, des commentaires, des instructions de traitement, etc.
  2. Accéder et modifier les propriétés du document et les informations associées (telles que les commentaires DTD et les déclarations de document)
  3. Analyser des documents XML

Voici un exemple de code qui utilise l'objet XmlDocument pour analyser un document XML :

1 2 3 4 5 6 7 8 9
var xml = require('xml'); var fs = require('fs'); var xmlStr = fs.readFile('test.xml'); var xmlDoc = xml.parse(xmlStr); // get document root node name var rootName = xmlDoc.documentElement.nodeName; console.log(`文档根节点名称是 ${rootName}`);

Dans le code ci-dessus, nous utilisons d'abord fsla méthode module readFile()pour lire un fichier XML et attribuer le flux de fichier à la variable xmlStr. Ensuite, nous utilisons [xml](../../module/ifs/xml.md)la méthode du module pour analyser le fichier XML et attribuer l' objet parse()analysé à une variable . Enfin, nous utilisons l'attribut de pour obtenir le nœud racine du document, obtenir son nom de nœud et l'afficher sur la console.XmlDocumentxmlDocxmlDocdocumentElement

Puisque XmlDocument est l'entrée de l'ensemble du document XML, nous pouvons obtenir et modifier des informations relatives au document via celui-ci. Par exemple, nous pouvons obtenir et modifier la version XML et les attributs autonomes du document via xmlDoc.xmlVersionet respectivement. xmlDoc.xmlStandaloneNous pouvons également xmlDoc.createProcessingInstruction()créer de nouveaux nœuds d’instructions de traitement grâce à la méthode.

L'objet XmlDocument est un type très puissant qui nous offre une grande commodité pour traiter et analyser les fichiers XML.

relation d'héritage

Constructeur

XmlDocument

Construire un objet XmlDocument

1
new XmlDocument(String type = "text/xml");

Paramètres d'appel :

  • type: String, spécifie le type d'objet document, la valeur par défaut est "text/xml", si vous devez traiter du HTML, vous devez spécifier "text/html"

propriétés des membres

inputEncoding

String, renvoie l'encodage utilisé pour le document (lors de l'analyse)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Booléen, définit ou renvoie si le document est autonome

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

Chaîne, définit ou renvoie la version XML du document

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, renvoie la déclaration de type de document associée au document

1
readonly XmlDocumentType XmlDocument.doctype;

Pour les documents XML sans DTD, null est renvoyé. Cette propriété offreXmlDocumentTypeAccès direct à l'objet (un nœud enfant de XmlDocument).


documentElement

XmlElement, renvoie le nœud racine du document

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, renvoie le nœud principal du document HTML, valable uniquement en mode html

1
readonly XmlElement XmlDocument.head;

title

String, renvoie le contenu du nœud titre du document HTML, valable uniquement en mode html

1
readonly String XmlDocument.title;

body

XmlElement, renvoie le nœud corps du document HTML, valable uniquement en mode html

1
readonly XmlElement XmlDocument.body;

nodeType

Entier, renvoie le type de nœud du nœud

1
readonly Integer XmlDocument.nodeType;

Le nodeType de différents objets renverra différentes valeurs :


nodeName

String, renvoie le nom du nœud, selon son type

1
readonly String XmlDocument.nodeName;

Le nodeName de différents objets renverra différentes valeurs :


nodeValue

String, renvoie le nom du nœud, selon son type

1
String XmlDocument.nodeValue;

Le nodeName de différents objets renverra différentes valeurs :


ownerDocument

XmlDocument, renvoie l'élément racine du nœud (objet XmlDocument)

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, peut renvoyer le nœud parent d'un nœud

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, renvoie la liste des nœuds enfants du nœud spécifié

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, renvoie la liste des nœuds des éléments enfants du nœud spécifié.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, renvoie le premier nœud enfant du nœud

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, renvoie le dernier nœud enfant du nœud

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, renvoie le nœud précédant immédiatement un nœud (au même niveau d'arborescence). S'il n'existe pas de tel nœud, cette propriété renvoie null.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, renvoie le nœud qui suit immédiatement un élément (dans le même niveau d'arborescence). S'il n'existe pas de tel nœud, l'attribut renvoie null.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, renvoie le premier nœud d'élément enfant du nœud

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, renvoie le dernier nœud d'élément enfant du nœud

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, renvoie le nœud d'élément précédant immédiatement un nœud (au même niveau d'arborescence). S'il n'existe pas de nœud de ce type, cette propriété renvoie null.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, renvoie le nœud d'élément qui suit immédiatement un élément (dans le même niveau d'arborescence). S'il n'existe pas de tel nœud, l'attribut renvoie null.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

String, interroge et définit le texte de l'élément sélectionné. Lors de l'interrogation, renvoie les valeurs de tous les nœuds de texte dans le nœud d'élément ; lors de la configuration, supprime tous les nœuds enfants et les remplace par un seul nœud de texte.

1
String XmlDocument.textContent;

fonction membre

load

Le document est composé en analysant une chaîne XML/HTML. Le multilinguisme n'est pas pris en charge.

1
XmlDocument.load(String source);

Paramètres d'appel :

  • source: String, le texte XML/HTML à analyser, selon le type lors de la création du document

Le document est composé en analysant une chaîne binaire XML/HTML et automatiquement converti en fonction de la langue.

1
XmlDocument.load(Buffer source);

Paramètres d'appel :

  • source:Buffer, le texte XML/HTML à analyser, en fonction du type de document lors de sa création

getElementsByTagName

Renvoie une liste de nœuds avec tous les éléments portant le nom spécifié

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Paramètres d'appel :

  • tagName: String, le nom de la balise à récupérer. La valeur "*" correspond à toutes les balises

Résultats de retour :

  • XmlNodeList, avec la balise spécifiée dans l'arborescence du documentXmlElementNodalXmlNodeListrassembler. L'ordre des nœuds d'éléments renvoyés est l'ordre dans lequel ils apparaissent dans le document source.

Cette méthode renverra unXmlNodeListObjet (peut être traité comme un tableau en lecture seule) qui stocke toutes les balises du document avec le nom de balise spécifiéXmlElementLes nœuds sont stockés dans l'ordre dans lequel ils apparaissent dans le document source.XmlNodeListL'objet est "en direct", c'est-à-dire que si un élément avec le nom de balise spécifié est ajouté ou supprimé dans le document, son contenu sera automatiquement mis à jour si nécessaire.


getElementsByTagNameNS

Renvoie une liste de nœuds de tous les éléments avec l'espace de noms et le nom spécifiés

1 2
XmlNodeList XmlDocument.getElementsByTagNameNS(String namespaceURI, String localName);

Paramètres d'appel :

  • namespaceURI: String, spécifie l'URI de l'espace de noms à récupérer. La valeur "*" correspond à toutes les balises
  • localName: String, le nom de la balise à récupérer. La valeur "*" correspond à toutes les balises

Résultats de retour :

  • XmlNodeList, avec la balise spécifiée dans l'arborescence du documentXmlElementNodalXmlNodeListrassembler. L'ordre des nœuds d'éléments renvoyés est l'ordre dans lequel ils apparaissent dans le document source.

Cette méthode est similaire à la méthode getElementsByTagName() sauf qu'elle récupère les éléments en fonction de l'espace de noms et du nom.


getElementById

Renvoie l'élément avec l'attribut id spécifié

1
XmlElement XmlDocument.getElementById(String id);

Paramètres d'appel :

  • id: String, l'identifiant à récupérer

Résultats de retour :

Cette méthode parcourra les nœuds descendants du document et renverra unXmlElementObjet nœud qui représente le premier élément de document avec l'attribut id spécifié. .


getElementsByClassName

Renvoie une liste de nœuds de tous les éléments avec le nom de classe spécifié

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Paramètres d'appel :

  • className: String, le nom de la classe à récupérer

Résultats de retour :

  • XmlNodeList, avec le nom de classe spécifié dans l'arborescence du documentXmlElementNodalXmlNodeListrassembler. L'ordre des nœuds d'éléments renvoyés est l'ordre dans lequel ils apparaissent dans le document source.

Cette méthode renverra unXmlNodeListObjet (peut être traité comme un tableau en lecture seule), qui stocke tous les fichiers portant le nom de classe spécifié dans le documentXmlElementLes nœuds sont stockés dans l'ordre dans lequel ils apparaissent dans le document source.XmlNodeListL'objet est "en direct", c'est-à-dire que si un élément avec le nom de balise spécifié est ajouté ou supprimé dans le document, son contenu sera automatiquement mis à jour si nécessaire.


createElement

Créer un nœud d'élément

1
XmlElement XmlDocument.createElement(String tagName);

Paramètres d'appel :

  • tagName: String, spécifie le nom spécifié du nœud d'élément

Résultats de retour :


createElementNS

Crée un nœud d'élément avec l'espace de noms spécifié

1 2
XmlElement XmlDocument.createElementNS(String namespaceURI, String qualifiedName);

Paramètres d'appel :

  • namespaceURI: String, spécifie l'URI de l'espace de noms du nœud d'élément
  • qualifiedName: String, spécifie le nom spécifié du nœud d'élément

Résultats de retour :


createTextNode

Créer un nœud de texte

1
XmlText XmlDocument.createTextNode(String data);

Paramètres d'appel :

  • data: String, précise le texte de ce nœud

Résultats de retour :

  • XmlText, renvoie le nouveau crééXmlTextNœud, représentant la chaîne de données spécifiée

createComment

Créer un nœud d'annotation

1
XmlComment XmlDocument.createComment(String data);

Paramètres d'appel :

  • data: String, spécifie le texte du commentaire de ce nœud

Résultats de retour :

  • XmlComment, renvoie le nouveau crééXmlCommentNœud, le texte du commentaire correspond aux données spécifiées

createCDATASection

créerXmlCDATASectionnœud

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Paramètres d'appel :

  • data: String, spécifie que ce nœud spécifie les données CDATA

Résultats de retour :


createProcessingInstruction

créerXmlProcessingInstructionnœud

1 2
XmlProcessingInstruction XmlDocument.createProcessingInstruction(String target, String data);

Paramètres d'appel :

  • target: String, spécifie la cible de l'instruction de traitement
  • data: String, spécifie le texte du contenu de l'instruction de traitement

Résultats de retour :


hasChildNodes

Demander s'il existe des nœuds enfants

1
Boolean XmlDocument.hasChildNodes();

Résultats de retour :

  • Boolean, renvoie vrai s'il y a des nœuds enfants, sinon renvoie faux

normalize

Fusionner les nœuds de texte adjacents et supprimer les nœuds de texte vides

1
XmlDocument.normalize();

Cette méthode traversera tous les nœuds descendants du nœud actuel et normalisera le document en supprimant les nœuds Texte vides et en fusionnant tous les nœuds Texte adjacents. Cette méthode est utile pour simplifier la structure de l'arborescence du document après l'insertion ou la suppression de nœuds.


cloneNode

Crée une copie exacte du nœud spécifié

1
XmlNode XmlDocument.cloneNode(Boolean deep = true);

Paramètres d'appel :

  • deep: Booléen, s'il faut copier en profondeur, lorsque c'est vrai, le nœud cloné clonera tous les nœuds enfants du nœud d'origine

Résultats de retour :

Cette méthode copiera et renverra une copie du nœud sur lequel elle a été appelée. Si l'argument qui lui est transmis est vrai, il copiera également de manière récursive tous les nœuds descendants du nœud actuel. Sinon, il copie uniquement le nœud actuel. Le nœud renvoyé n'appartient pas à l'arborescence du document et sa propriété parentNode est nulle. Lorsqu'un nœud Element est copié, toutes ses propriétés seront copiées.


lookupPrefix

Renvoie le préfixe correspondant à l'URI de l'espace de noms spécifié sur le nœud actuel

1
String XmlDocument.lookupPrefix(String namespaceURI);

Paramètres d'appel :

  • namespaceURI: String, spécifie l'URI de l'espace de noms correspondant

Résultats de retour :

  • String, renvoie le préfixe correspondant, renvoie null s'il ne correspond pas.

lookupNamespaceURI

Renvoie l'URI de l'espace de noms correspondant au préfixe spécifié sur le nœud actuel

1
String XmlDocument.lookupNamespaceURI(String prefix);

Paramètres d'appel :

  • prefix: String, spécifie le préfixe correspondant

Résultats de retour :

  • String, renvoie l'URI de l'espace de noms correspondant, renvoie null s'il ne correspond pas.

insertBefore

Insérer un nouveau nœud enfant avant un nœud enfant existant

1 2
XmlNode XmlDocument.insertBefore(XmlNode newChild, XmlNode refChild);

Paramètres d'appel :

  • newChild:XmlNode, insérez un nouveau nœud
  • refChild:XmlNode, insérez un nouveau nœud avant ce nœud

Résultats de retour :

  • XmlNode, renvoie le nouveau nœud enfant

Si newChild existe déjà dans l’arborescence des documents, il sera supprimé de l’arborescence des documents et réinséré à sa nouvelle position. Les nœuds d'un document (ou les nœuds créés par un document) ne peuvent pas être insérés dans un autre document. Autrement dit, l'attribut OwnerDocument de newChild doit être le même que l'attribut OwnerDocument du nœud actuel.


insertAfter

Insérer un nouveau nœud enfant après un nœud enfant existant

1 2
XmlNode XmlDocument.insertAfter(XmlNode newChild, XmlNode refChild);

Paramètres d'appel :

  • newChild:XmlNode, insérez un nouveau nœud
  • refChild:XmlNode, insérez un nouveau nœud après ce nœud

Résultats de retour :

  • XmlNode, renvoie le nouveau nœud enfant

Si newChild existe déjà dans l’arborescence des documents, il sera supprimé de l’arborescence des documents et réinséré à sa nouvelle position. Les nœuds d'un document (ou les nœuds créés par un document) ne peuvent pas être insérés dans un autre document. Autrement dit, l'attribut OwnerDocument de newChild doit être le même que l'attribut OwnerDocument du nœud actuel.


appendChild

Ajoute un nouveau nœud enfant à la fin de la liste des nœuds enfants d'un nœud

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Paramètres d'appel :

  • newChild:XmlNode, spécifiez le nœud ajouté

Résultats de retour :

  • XmlNode, renvoie ce nouveau nœud enfant

Si newChild existe déjà dans l’arborescence des documents, il sera supprimé de l’arborescence des documents et réinséré à sa nouvelle position. Les nœuds d'un document (ou les nœuds créés par un document) ne peuvent pas être insérés dans un autre document. Autrement dit, l'attribut OwnerDocument de newChild doit être le même que l'attribut OwnerDocument du nœud actuel.


replaceChild

Remplacer un nœud enfant par un autre

1 2
XmlNode XmlDocument.replaceChild(XmlNode newChild, XmlNode oldChild);

Paramètres d'appel :

  • newChild:XmlNode, spécifiez le nouveau nœud
  • oldChild:XmlNode, spécifie le nœud à remplacer

Résultats de retour :

  • XmlNode, Si le remplacement réussit, cette méthode peut renvoyer le nœud remplacé. Si le remplacement échoue, elle renvoie null.

Si newChild existe déjà dans l’arborescence des documents, il sera supprimé de l’arborescence des documents et réinséré à sa nouvelle position. Les nœuds d'un document (ou les nœuds créés par un document) ne peuvent pas être insérés dans un autre document. Autrement dit, l'attribut OwnerDocument de newChild doit être le même que l'attribut OwnerDocument du nœud actuel.


removeChild

Supprimer un nœud de la liste des nœuds enfants

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Paramètres d'appel :

  • oldChild:XmlNode, spécifie le nœud à supprimer

Résultats de retour :

  • XmlNode, Si la suppression réussit, cette méthode peut renvoyer le nœud supprimé. En cas d'échec, elle renvoie null.

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String XmlDocument.toString();

Résultats de retour :

  • String, renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

1
Value XmlDocument.toJSON(String key = "");

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable