Obxecto obxecto incorporado

ObjectXmlDocument

XmlDocument é xmlUn obxecto do módulo, que representa todo o documento XML e proporciona acceso a todo o documento.

XmlDocument é a raíz dunha árbore de documentos e contén todos os nodos de todo o documento XML. O obxecto XmlDocument tamén ofrece as seguintes funcións:

  1. Crea nodos de elementos, nodos de texto, comentarios, instrucións de procesamento, etc.
  2. Acceda e modifique as propiedades do documento e información relacionada (como comentarios DTD e declaracións de documentos)
  3. Analizar documentos XML

O seguinte é un código de exemplo que usa o obxecto XmlDocument para analizar un documento 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}`);

No código anterior, primeiro usamos fso readFile()método do módulo para ler un ficheiro XML e asignar o fluxo de ficheiros á variable xmlStr. Despois usamos [xml](../../module/ifs/xml.md)o método do módulo para analizar o ficheiro XML e asignar o obxecto parse()analizado a unha variable . Finalmente, usamos o atributo de para obter o nodo raíz do documento, obter o seu nome de nodo e envialo á consola.XmlDocumentxmlDocxmlDocdocumentElement

Xa que XmlDocument é a entrada a todo o documento XML, podemos obter e modificar información relacionada co documento a través del. Por exemplo, podemos obter e modificar a versión XML e os atributos autónomos do documento mediante xmlDoc.xmlVersione respectivamente. xmlDoc.xmlStandaloneTamén podemos xmlDoc.createProcessingInstruction()crear novos nodos de instrucións de procesamento a través do método.

O obxecto XmlDocument é un tipo moi potente que nos proporciona unha gran comodidade para procesar e analizar ficheiros XML.

relación de herdanza

Construtor

XmlDocument

Constrúe un obxecto XmlDocument

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

Parámetros de chamada:

  • type: String, especifica o tipo de obxecto do documento, o valor predeterminado é "text/xml", se precisa procesar html, debe especificar "text/html"

propiedades dos membros

inputEncoding

Cadea, devolve a codificación utilizada para o documento (ao analizar)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Booleano, establece ou devolve se o documento é autónomo

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

Cadena, establece ou devolve a versión XML do documento

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, devolve a Declaración de tipo de documento relacionada co documento

1
readonly XmlDocumentType XmlDocument.doctype;

Para documentos XML sen DTD, devólvese nulo. Esta propiedade ofreceXmlDocumentTypeAcceso directo ao obxecto (un nodo fillo de XmlDocument).


documentElement

XmlElement, devolve o nodo raíz do documento

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, devolve o nodo principal do documento HTML, só válido no modo html

1
readonly XmlElement XmlDocument.head;

title

Cadena, devolve o contido do nodo de título do documento HTML, só válido no modo html

1
readonly String XmlDocument.title;

body

XmlElement, devolve o nodo do corpo do documento HTML, só válido no modo html

1
readonly XmlElement XmlDocument.body;

nodeType

Enteiro, devolve o tipo de nodo do nodo

1
readonly Integer XmlDocument.nodeType;

O nodeType de diferentes obxectos devolverá valores diferentes:


nodeName

String, devolve o nome do nodo, segundo o seu tipo

1
readonly String XmlDocument.nodeName;

O nodeName de diferentes obxectos devolverá valores diferentes:


nodeValue

String, devolve o nome do nodo, segundo o seu tipo

1
String XmlDocument.nodeValue;

O nodeName de diferentes obxectos devolverá valores diferentes:


ownerDocument

XmlDocument, devolve o elemento raíz do nodo (obxecto XmlDocument)

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, pode devolver o nodo pai dun nodo

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, devolve a lista de nodos dos nodos fillos do nodo especificado

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, devolve a lista de nodos dos nodos do elemento fillo do nodo especificado.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, devolve o primeiro nodo fillo do nodo

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, devolve o último nodo fillo do nodo

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, devolve o nodo inmediatamente anterior a un nodo (no mesmo nivel de árbore). Se non hai tal nodo, esta propiedade devolve nulo.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, devolve o nodo inmediatamente despois dun elemento (no mesmo nivel de árbore). Se non hai tal nodo, o atributo devolve nulo.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, devolve o primeiro nodo do elemento fillo do nodo

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, devolve o último nodo do elemento fillo do nodo

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, devolve o nodo do elemento inmediatamente anterior a un nodo (no mesmo nivel de árbore). Se non hai tal nodo, esta propiedade devolve nulo.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, devolve o nodo do elemento inmediatamente despois dun elemento (no mesmo nivel de árbore). Se non hai tal nodo, o atributo devolve nulo.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

Cadena, consulta e establece o texto do elemento seleccionado. Ao consultar, devolve os valores de todos os nodos de texto dentro do nodo de elemento; ao configurar, elimina todos os nodos fillos e substitúeos por un único nodo de texto.

1
String XmlDocument.textContent;

función de membro

load

O documento está composto analizando unha cadea XML/HTML. Non se admite o multilingüismo.

1
XmlDocument.load(String source);

Parámetros de chamada:

  • source: Cadea, o texto XML/HTML que se vai analizar, dependendo do tipo cando se creou o documento

O documento está composto analizando unha cadea binaria XML/HTML e convértese automaticamente segundo a linguaxe.

1
XmlDocument.load(Buffer source);

Parámetros de chamada:

  • source:Buffer, o texto XML/HTML que se vai analizar, dependendo do tipo de documento cando foi creado

getElementsByTagName

Devolve unha lista de nodos con todos os elementos co nome especificado

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Parámetros de chamada:

  • tagName: String, o nome da etiqueta que se vai recuperar. O valor "*" coincide con todas as etiquetas

Resultados de devolución:

  • XmlNodeList, coa etiqueta especificada na árbore do documentoXmlElementNodalXmlNodeListrecoller. A orde dos nós dos elementos devoltos é a orde na que aparecen no documento de orixe.

Este método devolverá aXmlNodeListObxecto (pódese procesar como unha matriz de só lectura) que almacena todas as etiquetas do documento co nome de etiqueta especificadoXmlElementOs nós almacénanse na orde en que aparecen no documento de orixe.XmlNodeListO obxecto está "en directo", é dicir, se se engade ou elimina un elemento co nome de etiqueta especificado no documento, o seu contido actualizarase automaticamente segundo sexa necesario.


getElementsByTagNameNS

Devolve unha lista de nodos de todos os elementos co espazo de nomes e nome especificados

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

Parámetros de chamada:

  • namespaceURI: Cadea, especifica o URI do espazo de nomes que se vai recuperar. O valor "*" coincide con todas as etiquetas
  • localName: String, o nome da etiqueta que se vai recuperar. O valor "*" coincide con todas as etiquetas

Resultados de devolución:

  • XmlNodeList, coa etiqueta especificada na árbore do documentoXmlElementNodalXmlNodeListrecoller. A orde dos nós dos elementos devoltos é a orde na que aparecen no documento de orixe.

Este método é semellante ao método getElementsByTagName() excepto que recupera elementos baseados no espazo de nomes e no nome.


getElementById

Devolve o elemento co atributo id especificado

1
XmlElement XmlDocument.getElementById(String id);

Parámetros de chamada:

  • id: String, o identificador que se vai recuperar

Resultados de devolución:

Este método atravesará os nodos descendentes do documento e devolverá aXmlElementUn obxecto nodo que representa o primeiro elemento do documento co atributo id especificado. .


getElementsByClassName

Devolve unha lista de nodos de todos os elementos co nome de clase especificado

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Parámetros de chamada:

  • className: String, o nome da clase que se vai recuperar

Resultados de devolución:

  • XmlNodeList, co nome de clase especificado na árbore do documentoXmlElementNodalXmlNodeListrecoller. A orde dos nós dos elementos devoltos é a orde na que aparecen no documento de orixe.

Este método devolverá aXmlNodeListObxecto (pódese procesar como unha matriz de só lectura), que almacena todos os ficheiros co nome de clase especificado no documentoXmlElementOs nós almacénanse na orde en que aparecen no documento de orixe.XmlNodeListO obxecto está "en directo", é dicir, se se engade ou elimina un elemento co nome de etiqueta especificado no documento, o seu contido actualizarase automaticamente segundo sexa necesario.


createElement

Crear nodo de elementos

1
XmlElement XmlDocument.createElement(String tagName);

Parámetros de chamada:

  • tagName: Cadea, especifica o nome especificado do nodo do elemento

Resultados de devolución:


createElementNS

Crea un nodo de elemento co espazo de nomes especificado

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

Parámetros de chamada:

  • namespaceURI: String, especifica o URI do espazo de nomes do nodo do elemento
  • qualifiedName: Cadea, especifica o nome especificado do nodo do elemento

Resultados de devolución:


createTextNode

Crear un nodo de texto

1
XmlText XmlDocument.createTextNode(String data);

Parámetros de chamada:

  • data: Cadea, especifica o texto deste nodo

Resultados de devolución:

  • XmlText, devolve o recén creadoXmlTextNodo, que representa a cadea de datos especificada

createComment

Crear nodo de anotación

1
XmlComment XmlDocument.createComment(String data);

Parámetros de chamada:

  • data: Cadea, especifica o texto do comentario deste nodo

Resultados de devolución:

  • XmlComment, devolve o recén creadoXmlCommentNode, o texto do comentario son os datos especificados

createCDATASection

crearXmlCDATASectionnodo

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Parámetros de chamada:

  • data: String, especifica que este nodo especifica datos CDATA

Resultados de devolución:


createProcessingInstruction

crearXmlProcessingInstructionnodo

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

Parámetros de chamada:

  • target: Cadea, especifica o destino da instrución de procesamento
  • data: Cadea, especifica o texto do contido da instrución de procesamento

Resultados de devolución:


hasChildNodes

Consulta se hai nós fillos

1
Boolean XmlDocument.hasChildNodes();

Resultados de devolución:

  • Boolean, devolve verdadeiro se hai algún nodo fillo, se non, devolve falso

normalize

Combina os nós de Texto adxacentes e elimina os nós de Texto baleiros

1
XmlDocument.normalize();

Este método atravesará todos os nodos descendentes do nodo actual e normalizará o documento eliminando os nós de Texto baleiros e fusionando todos os nós de Texto adxacentes. Este método é útil para simplificar a estrutura da árbore do documento despois de inserir ou eliminar nós.


cloneNode

Crea unha copia exacta do nodo especificado

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

Parámetros de chamada:

  • deep: Booleano, se debe copiar en profundidade, cando é verdadeiro, o nodo clonado clonará todos os nodos fillos do nodo orixinal

Resultados de devolución:

Este método copiará e devolverá unha copia do nodo no que foi chamado. Se o argumento que se lle pasou é verdadeiro, tamén copiará de forma recursiva todos os nodos descendentes do nodo actual. En caso contrario, só copia o nodo actual. O nodo devolto non pertence á árbore do documento e a súa propiedade parentNode é nula. Cando se copia un nodo Element, copiaranse todas as súas propiedades.


lookupPrefix

Devolve o prefixo que coincide co URI de espazo de nomes especificado no nodo actual

1
String XmlDocument.lookupPrefix(String namespaceURI);

Parámetros de chamada:

  • namespaceURI: Cadea, especifica o URI do espazo de nomes coincidente

Resultados de devolución:

  • String, devolve o prefixo coincidente, devolve nulo se non coincide.

lookupNamespaceURI

Devolve o URI do espazo de nomes que coincide co prefixo especificado no nodo actual

1
String XmlDocument.lookupNamespaceURI(String prefix);

Parámetros de chamada:

  • prefix: Cadea, especifica o prefixo coincidente

Resultados de devolución:

  • String, devolve o URI do espazo de nomes coincidente, devolve nulo se non coincide.

insertBefore

Insira un novo nodo fillo antes dun nodo fillo existente

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

Parámetros de chamada:

  • newChild:XmlNode, inserir un novo nodo
  • refChild:XmlNode, inserir un novo nodo antes deste nodo

Resultados de devolución:

  • XmlNode, devolve o novo nodo fillo

Se xa existe newChild na árbore de documentos, eliminarase da árbore de documentos e reinserirase na súa nova posición. Os nós dun documento (ou os nodos creados por un documento) non se poden inserir noutro documento. É dicir, o atributo ownerDocument de newChild debe ser o mesmo que o atributo ownerDocument do nodo actual.


insertAfter

Insira un novo nodo fillo despois dun nodo fillo existente

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

Parámetros de chamada:

  • newChild:XmlNode, inserir un novo nodo
  • refChild:XmlNode, insira un novo nodo despois deste nodo

Resultados de devolución:

  • XmlNode, devolve o novo nodo fillo

Se xa existe newChild na árbore de documentos, eliminarase da árbore de documentos e reinserirase na súa nova posición. Os nós dun documento (ou os nodos creados por un documento) non se poden inserir noutro documento. É dicir, o atributo ownerDocument de newChild debe ser o mesmo que o atributo ownerDocument do nodo actual.


appendChild

Engade un novo nodo fillo ao final da lista de nodos fillos dun nodo

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Parámetros de chamada:

  • newChild:XmlNode, especifique o nodo engadido

Resultados de devolución:

  • XmlNode, devolve este novo nodo fillo

Se xa existe newChild na árbore de documentos, eliminarase da árbore de documentos e reinserirase na súa nova posición. Os nós dun documento (ou os nodos creados por un documento) non se poden inserir noutro documento. É dicir, o atributo ownerDocument de newChild debe ser o mesmo que o atributo ownerDocument do nodo actual.


replaceChild

Substitúe un nodo fillo por outro

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

Parámetros de chamada:

  • newChild:XmlNode, especifique o novo nodo
  • oldChild:XmlNode, especifica o nodo que se vai substituír

Resultados de devolución:

  • XmlNode, Se a substitución ten éxito, este método pode devolver o nodo substituído. Se a substitución falla, devolve nulo.

Se xa existe newChild na árbore de documentos, eliminarase da árbore de documentos e reinserirase na súa nova posición. Os nós dun documento (ou os nodos creados por un documento) non se poden inserir noutro documento. É dicir, o atributo ownerDocument de newChild debe ser o mesmo que o atributo ownerDocument do nodo actual.


removeChild

Elimina un nodo da lista de nodos fillos

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Parámetros de chamada:

  • oldChild:XmlNode, especifica o nodo que se vai eliminar

Resultados de devolución:

  • XmlNode, Se a eliminación é correcta, este método pode devolver o nodo eliminado. Se falla, devolve nulo.

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String XmlDocument.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable