Objecte objecte incorporat

ObjectXmlDocument

XmlDocument és xmlUn objecte del mòdul, que representa tot el document XML i proporciona accés a tot el document.

XmlDocument és l'arrel d'un arbre de document i conté tots els nodes de tot el document XML. L'objecte XmlDocument també proporciona les funcions següents:

  1. Creeu nodes d'elements, nodes de text, comentaris, instruccions de processament, etc.
  2. Accedir i modificar les propietats del document i la informació relacionada (com ara comentaris de DTD i declaracions de documents)
  3. Analitzar documents XML

El següent és un codi d'exemple que utilitza l'objecte XmlDocument per analitzar 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}`);

Al codi anterior, primer utilitzem fsel readFile()mètode del mòdul per llegir un fitxer XML i assignar el flux de fitxers a la variable xmlStr. A continuació, utilitzem [xml](../../module/ifs/xml.md)el mètode del mòdul per analitzar el fitxer XML i assignar l' objecte parse()analitzat a una variable . Finalment, utilitzem l'atribut de per obtenir el node arrel del document, obtenir el seu nom de node i enviar-lo a la consola.XmlDocumentxmlDocxmlDocdocumentElement

Com que XmlDocument és l'entrada a tot el document XML, podem obtenir i modificar informació relacionada amb el document a través d'ell. Per exemple, podem obtenir i modificar la versió XML i els atributs autònoms del document mitjançant xmlDoc.xmlVersioni respectivament. xmlDoc.xmlStandaloneTambé podem xmlDoc.createProcessingInstruction()crear nous nodes d'instruccions de processament mitjançant el mètode.

L'objecte XmlDocument és un tipus molt potent que ens proporciona una gran comoditat per processar i analitzar fitxers XML.

relació hereditària

Constructor

XmlDocument

Construeix un objecte XmlDocument

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

Paràmetres de trucada:

  • type: Cadena, especifica el tipus d'objecte del document, el valor per defecte és "text/xml", si necessiteu processar html, heu d'especificar "text/html"

propietats dels membres

inputEncoding

Cadena, retorna la codificació utilitzada per al document (en analitzar)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Booleà, estableix o retorna si el document és autònom

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

Cadena, estableix o retorna la versió XML del document

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, retorna la declaració de tipus de document relacionada amb el document

1
readonly XmlDocumentType XmlDocument.doctype;

Per als documents XML sense DTD, es retorna null. Aquesta propietat ofereixXmlDocumentTypeAccés directe a l'objecte (un node fill de XmlDocument).


documentElement

XmlElement, retorna el node arrel del document

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, retorna el node principal del document HTML, només vàlid en mode html

1
readonly XmlElement XmlDocument.head;

title

String, retorna el contingut del node títol del document HTML, només vàlid en mode html

1
readonly String XmlDocument.title;

body

XmlElement, retorna el node del cos del document HTML, només vàlid en mode html

1
readonly XmlElement XmlDocument.body;

nodeType

Enter, retorna el tipus de node del node

1
readonly Integer XmlDocument.nodeType;

El nodeType de diferents objectes retornarà diferents valors:


nodeName

String, retorna el nom del node, segons el seu tipus

1
readonly String XmlDocument.nodeName;

El nodeName de diferents objectes retornarà diferents valors:


nodeValue

String, retorna el nom del node, segons el seu tipus

1
String XmlDocument.nodeValue;

El nodeName de diferents objectes retornarà diferents valors:


ownerDocument

XmlDocument, retorna l'element arrel del node (objecte XmlDocument)

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, pot retornar el node pare d'un node

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, retorna la llista de nodes dels nodes fills del node especificat

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, retorna la llista de nodes dels nodes de l'element fill del node especificat.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, retorna el primer node fill del node

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, retorna l'últim node fill del node

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, retorna el node immediatament anterior a un node (al mateix nivell d'arbre). Si no hi ha aquest node, aquesta propietat retorna null.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, retorna el node immediatament després d'un element (al mateix nivell d'arbre). Si no hi ha aquest node, l'atribut retorna null.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, retorna el primer node element fill del node

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, retorna l'últim node d'element fill del node

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, retorna el node d'element immediatament anterior a un node (al mateix nivell d'arbre). Si no hi ha aquest node, aquesta propietat retorna null.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, retorna el node d'element immediatament després d'un element (al mateix nivell d'arbre). Si no hi ha aquest node, l'atribut retorna null.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

Cadena, consulta i estableix el text de l'element seleccionat. Quan es consulta, retorna els valors de tots els nodes de text dins del node d'element; quan es configura, elimina tots els nodes fills i els substitueix per un sol node de text.

1
String XmlDocument.textContent;

funció de membre

load

El document està compost analitzant una cadena XML/HTML. No s'admet el multilingüisme.

1
XmlDocument.load(String source);

Paràmetres de trucada:

  • source: String, el text XML/HTML que s'ha d'analitzar, depenent del tipus quan es va crear el document

El document es compon analitzant una cadena binària XML/HTML i es converteix automàticament segons l'idioma.

1
XmlDocument.load(Buffer source);

Paràmetres de trucada:

  • source:Buffer, el text XML/HTML que s'ha d'analitzar, en funció del tipus de document quan es va crear

getElementsByTagName

Retorna una llista de nodes amb tots els elements amb el nom especificat

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Paràmetres de trucada:

  • tagName: String, el nom de l'etiqueta que s'ha de recuperar. El valor "*" coincideix amb totes les etiquetes

Resultats de retorn:

  • XmlNodeList, amb l'etiqueta especificada a l'arbre del documentXmlElementNodalXmlNodeListreunir. L'ordre dels nodes d'element retornats és l'ordre en què apareixen al document font.

Aquest mètode retornarà aXmlNodeListObjecte (es pot processar com a matriu només de lectura) que emmagatzema totes les etiquetes del document amb el nom d'etiqueta especificatXmlElementEls nodes s'emmagatzemen en l'ordre en què apareixen al document font.XmlNodeListL'objecte és "en directe", és a dir, si un element amb el nom d'etiqueta especificat s'afegeix o s'elimina al document, el seu contingut s'actualitzarà automàticament segons sigui necessari.


getElementsByTagNameNS

Retorna una llista de nodes de tots els elements amb l'espai de noms i el nom especificats

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

Paràmetres de trucada:

  • namespaceURI: String, especifica l'URI de l'espai de noms que s'ha de recuperar. El valor "*" coincideix amb totes les etiquetes
  • localName: String, el nom de l'etiqueta que s'ha de recuperar. El valor "*" coincideix amb totes les etiquetes

Resultats de retorn:

  • XmlNodeList, amb l'etiqueta especificada a l'arbre del documentXmlElementNodalXmlNodeListreunir. L'ordre dels nodes d'element retornats és l'ordre en què apareixen al document font.

Aquest mètode és similar al mètode getElementsByTagName() excepte que recupera elements basats en l'espai de noms i el nom.


getElementById

Retorna l'element amb l'atribut id especificat

1
XmlElement XmlDocument.getElementById(String id);

Paràmetres de trucada:

  • id: String, l'identificador que s'ha de recuperar

Resultats de retorn:

Aquest mètode travessarà els nodes descendents del document i retornarà aXmlElementUn objecte node que representa el primer element de document amb l'atribut id especificat. .


getElementsByClassName

Retorna una llista de nodes de tots els elements amb el nom de classe especificat

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Paràmetres de trucada:

  • className: String, el nom de la classe que s'ha de recuperar

Resultats de retorn:

  • XmlNodeList, amb el nom de classe especificat a l'arbre del documentXmlElementNodalXmlNodeListreunir. L'ordre dels nodes d'element retornats és l'ordre en què apareixen al document font.

Aquest mètode retornarà aXmlNodeListObjecte (es pot processar com a matriu de només lectura), que emmagatzema tots els fitxers amb el nom de classe especificat al documentXmlElementEls nodes s'emmagatzemen en l'ordre en què apareixen al document font.XmlNodeListL'objecte és "en directe", és a dir, si un element amb el nom d'etiqueta especificat s'afegeix o s'elimina al document, el seu contingut s'actualitzarà automàticament segons sigui necessari.


createElement

Crea un node d'element

1
XmlElement XmlDocument.createElement(String tagName);

Paràmetres de trucada:

  • tagName: String, especifica el nom especificat del node de l'element

Resultats de retorn:


createElementNS

Crea un node d'element amb l'espai de noms especificat

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

Paràmetres de trucada:

  • namespaceURI: String, especifica l'URI de l'espai de noms del node de l'element
  • qualifiedName: String, especifica el nom especificat del node de l'element

Resultats de retorn:


createTextNode

Crea un node de text

1
XmlText XmlDocument.createTextNode(String data);

Paràmetres de trucada:

  • data: String, especifica el text d'aquest node

Resultats de retorn:

  • XmlText, retorna el nou creatXmlTextNode, que representa la cadena de dades especificada

createComment

Crea un node d'anotació

1
XmlComment XmlDocument.createComment(String data);

Paràmetres de trucada:

  • data: String, especifica el text del comentari d'aquest node

Resultats de retorn:

  • XmlComment, retorna el nou creatXmlCommentNode, el text del comentari són les dades especificades

createCDATASection

crearXmlCDATASectionnode

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Paràmetres de trucada:

  • data: String, especifica que aquest node especifica dades CDATA

Resultats de retorn:


createProcessingInstruction

crearXmlProcessingInstructionnode

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

Paràmetres de trucada:

  • target: String, especifica l'objectiu de la instrucció de processament
  • data: Cadena, especifica el text del contingut de la instrucció de processament

Resultats de retorn:


hasChildNodes

Consulta si hi ha nodes fills

1
Boolean XmlDocument.hasChildNodes();

Resultats de retorn:

  • Boolean, retorna true si hi ha nodes fills, en cas contrari retorna false

normalize

Combina els nodes de text adjacents i suprimeix els nodes de text buits

1
XmlDocument.normalize();

Aquest mètode travessarà tots els nodes descendents del node actual i normalitzarà el document eliminant els nodes de text buits i fusionant tots els nodes de text adjacents. Aquest mètode és útil per simplificar l'estructura de l'arbre del document després d'inserir o suprimir nodes.


cloneNode

Crea una còpia exacta del node especificat

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

Paràmetres de trucada:

  • deep: Booleà, si cal copiar en profunditat, quan és cert, el node clonat clonarà tots els nodes fills del node original

Resultats de retorn:

Aquest mètode copiarà i retornarà una còpia del node on s'ha cridat. Si l'argument que se li passa és cert, també copiarà de manera recursiva tots els nodes descendents del node actual. En cas contrari, només copia el node actual. El node retornat no pertany a l'arbre del document i la seva propietat parentNode és nul·la. Quan es copia un node Element, es copiaran totes les seves propietats.


lookupPrefix

Retorna el prefix que coincideix amb l'URI de l'espai de noms especificat al node actual

1
String XmlDocument.lookupPrefix(String namespaceURI);

Paràmetres de trucada:

  • namespaceURI: String, especifica l'URI de l'espai de noms coincident

Resultats de retorn:

  • String, retorna el prefix coincident, retorna null si no coincideix.

lookupNamespaceURI

Retorna l'URI de l'espai de noms que coincideix amb el prefix especificat al node actual

1
String XmlDocument.lookupNamespaceURI(String prefix);

Paràmetres de trucada:

  • prefix: Cadena, especifica el prefix coincident

Resultats de retorn:

  • String, retorna l'URI de l'espai de noms coincident, retorna null si no coincideix.

insertBefore

Inseriu un nou node fill abans d'un node fill existent

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

Paràmetres de trucada:

  • newChild:XmlNode, inseriu un nou node
  • refChild:XmlNode, inseriu un nou node abans d'aquest node

Resultats de retorn:

  • XmlNode, retorna el nou node fill

Si newChild ja existeix a l'arbre del document, s'eliminarà de l'arbre del document i es tornarà a inserir a la seva nova posició. Els nodes d'un document (o nodes creats per un document) no es poden inserir en un altre document. És a dir, l'atribut ownerDocument de newChild ha de ser el mateix que l'atribut ownerDocument del node actual.


insertAfter

Inseriu un nou node fill després d'un node fill existent

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

Paràmetres de trucada:

  • newChild:XmlNode, inseriu un nou node
  • refChild:XmlNode, inseriu un nou node després d'aquest node

Resultats de retorn:

  • XmlNode, retorna el nou node fill

Si newChild ja existeix a l'arbre del document, s'eliminarà de l'arbre del document i es tornarà a inserir a la seva nova posició. Els nodes d'un document (o nodes creats per un document) no es poden inserir en un altre document. És a dir, l'atribut ownerDocument de newChild ha de ser el mateix que l'atribut ownerDocument del node actual.


appendChild

Afegeix un nou node fill al final de la llista de nodes fill d'un node

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Paràmetres de trucada:

  • newChild:XmlNode, especifiqueu el node afegit

Resultats de retorn:

  • XmlNode, retorna aquest nou node fill

Si newChild ja existeix a l'arbre del document, s'eliminarà de l'arbre del document i es tornarà a inserir a la seva nova posició. Els nodes d'un document (o nodes creats per un document) no es poden inserir en un altre document. És a dir, l'atribut ownerDocument de newChild ha de ser el mateix que l'atribut ownerDocument del node actual.


replaceChild

Substituïu un node fill per un altre

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

Paràmetres de trucada:

  • newChild:XmlNode, especifiqueu el nou node
  • oldChild:XmlNode, especifica el node que s'ha de substituir

Resultats de retorn:

  • XmlNode, Si la substitució té èxit, aquest mètode pot retornar el node substituït. Si la substitució falla, retorna nul.

Si newChild ja existeix a l'arbre del document, s'eliminarà de l'arbre del document i es tornarà a inserir a la seva nova posició. Els nodes d'un document (o nodes creats per un document) no es poden inserir en un altre document. És a dir, l'atribut ownerDocument de newChild ha de ser el mateix que l'atribut ownerDocument del node actual.


removeChild

Elimina un node de la llista de nodes fills

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Paràmetres de trucada:

  • oldChild:XmlNode, especifica el node que s'ha de suprimir

Resultats de retorn:

  • XmlNode, Si la supressió és correcta, aquest mètode pot retornar el node suprimit. Si falla, retorna null.

toString

Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.

1
String XmlDocument.toString();

Resultats de retorn:

  • String, retorna la representació de cadena de l'objecte

toJSON

Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.

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

Paràmetres de trucada:

  • key: Corda, no utilitzada

Resultats de retorn:

  • Value, retorna un valor que conté JSON serializable