Oggetto oggetto incorporato

OggettoXmlDocumento

XmlDocument è xmlUn oggetto del modulo, che rappresenta l'intero documento XML e fornisce l'accesso all'intero documento.

XmlDocument è la radice di un albero di documenti e contiene tutti i nodi dell'intero documento XML. L'oggetto XmlDocument fornisce inoltre le seguenti funzioni:

  1. Crea nodi di elementi, nodi di testo, commenti, istruzioni di elaborazione, ecc.
  2. Accedere e modificare le proprietà del documento e le informazioni correlate (come commenti DTD e dichiarazioni di documenti)
  3. Analizzare documenti XML

Di seguito è riportato un codice di esempio che utilizza l'oggetto XmlDocument per analizzare 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}`);

Nel codice precedente, utilizziamo innanzitutto fsil metodo module readFile()per leggere un file XML e assegnare il flusso di file alla variabile xmlStr. Quindi utilizziamo [xml](../../module/ifs/xml.md)il metodo del modulo per analizzare il file XML e assegnare l' oggetto parse()analizzato a una variabile . Infine, utilizziamo l'attributo di per ottenere il nodo radice del documento, ottenere il nome del nodo e inviarlo alla console.XmlDocumentxmlDocxmlDocdocumentElement

Poiché XmlDocument è l'ingresso dell'intero documento XML, attraverso di esso possiamo ottenere e modificare le informazioni relative al documento. Ad esempio, possiamo ottenere e modificare la versione XML e gli attributi autonomi del documento tramite xmlDoc.xmlVersione rispettivamente. xmlDoc.xmlStandalonePossiamo anche xmlDoc.createProcessingInstruction()creare nuovi nodi di istruzioni di elaborazione attraverso il metodo.

L'oggetto XmlDocument è un tipo molto potente che ci offre grande comodità nell'elaborazione e nell'analisi dei file XML.

rapporto ereditario

Costruttore

XmlDocument

Costruisci un oggetto XmlDocument

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

Parametri di chiamata:

  • type: String, specifica il tipo di oggetto documento, il valore predefinito è "testo/xml", se devi elaborare html, devi specificare "text/html"

proprietà dei membri

inputEncoding

String, restituisce la codifica utilizzata per il documento (durante l'analisi)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Booleano, imposta o restituisce se il documento è autonomo

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

Stringa, imposta o restituisce la versione XML del documento

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, restituisce la Dichiarazione del tipo di documento relativa al documento

1
readonly XmlDocumentType XmlDocument.doctype;

Per i documenti XML senza DTD, viene restituito null. Questa struttura fornisceXmlDocumentTypeAccesso diretto all'oggetto (un nodo figlio di XmlDocument).


documentElement

XmlElement, restituisce il nodo radice del documento

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, restituisce il nodo head del documento HTML, valido solo in modalità html

1
readonly XmlElement XmlDocument.head;

title

String, restituisce il contenuto del nodo titolo del documento HTML, valido solo in modalità html

1
readonly String XmlDocument.title;

body

XmlElement, restituisce il nodo del corpo del documento HTML, valido solo in modalità html

1
readonly XmlElement XmlDocument.body;

nodeType

Intero, restituisce il tipo di nodo del nodo

1
readonly Integer XmlDocument.nodeType;

Il nodeType di oggetti diversi restituirà valori diversi:


nodeName

String, restituisce il nome del nodo, in base al suo tipo

1
readonly String XmlDocument.nodeName;

Il nodeName di oggetti diversi restituirà valori diversi:


nodeValue

String, restituisce il nome del nodo, in base al suo tipo

1
String XmlDocument.nodeValue;

Il nodeName di oggetti diversi restituirà valori diversi:


ownerDocument

XmlDocument, restituisce l'elemento root del nodo (oggetto XmlDocument)

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, può restituire il nodo genitore di un nodo

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, restituisce l'elenco dei nodi figlio del nodo specificato

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, restituisce l'elenco dei nodi dell'elemento figlio del nodo specificato.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, restituisce il primo nodo figlio del nodo

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, restituisce l'ultimo nodo figlio del nodo

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, restituisce il nodo immediatamente precedente a un nodo (allo stesso livello dell'albero). Se non esiste un nodo di questo tipo, questa proprietà restituisce null.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, restituisce il nodo immediatamente successivo a un elemento (nello stesso livello dell'albero). Se non esiste tale nodo, l'attributo restituisce null.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, restituisce il primo nodo dell'elemento figlio del nodo

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, restituisce l'ultimo nodo dell'elemento figlio del nodo

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, restituisce l'elemento nodo immediatamente precedente a un nodo (allo stesso livello dell'albero). Se non esiste tale nodo, questa proprietà restituisce null.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, restituisce il nodo dell'elemento immediatamente successivo a un elemento (nello stesso livello dell'albero). Se non esiste tale nodo, l'attributo restituisce null.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

Stringa, interroga e imposta il testo dell'elemento selezionato. Durante l'interrogazione, restituisce i valori di tutti i nodi di testo all'interno del nodo dell'elemento; durante l'impostazione, elimina tutti i nodi figli e li sostituisce con un singolo nodo di testo.

1
String XmlDocument.textContent;

funzione membro

load

Il documento è composto analizzando una stringa XML/HTML.Il multilinguismo non è supportato.

1
XmlDocument.load(String source);

Parametri di chiamata:

  • source: String, il testo XML/HTML da analizzare, a seconda del tipo al momento della creazione del documento

Il documento è composto analizzando una stringa binaria XML/HTML e convertito automaticamente in base alla lingua.

1
XmlDocument.load(Buffer source);

Parametri di chiamata:

  • source:Buffer, il testo XML/HTML da analizzare, a seconda del tipo di documento al momento della creazione

getElementsByTagName

Restituisce un elenco di nodi con tutti gli elementi con il nome specificato

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Parametri di chiamata:

  • tagName: String, il nome del tag da recuperare. Il valore "*" corrisponde a tutti i tag

Risultati restituiti:

  • XmlNodeList, con il tag specificato nell'albero del documentoXmlElementNodaleXmlNodeListraccogliere. L'ordine dei nodi elemento restituiti è l'ordine in cui appaiono nel documento di origine.

Questo metodo restituirà aXmlNodeListOggetto (può essere elaborato come un array di sola lettura) che memorizza tutti i tag nel documento con il nome del tag specificatoXmlElementI nodi vengono archiviati nell'ordine in cui appaiono nel documento di origine.XmlNodeListL'oggetto è "live", ovvero se nel documento viene aggiunto o eliminato un elemento con il nome del tag specificato, il suo contenuto verrà automaticamente aggiornato secondo necessità.


getElementsByTagNameNS

Restituisce un elenco di nodi di tutti gli elementi con lo spazio dei nomi e il nome specificati

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

Parametri di chiamata:

  • namespaceURI: String, specifica l'URI dello spazio dei nomi da recuperare. Il valore "*" corrisponde a tutti i tag
  • localName: String, il nome del tag da recuperare. Il valore "*" corrisponde a tutti i tag

Risultati restituiti:

  • XmlNodeList, con il tag specificato nell'albero del documentoXmlElementNodaleXmlNodeListraccogliere. L'ordine dei nodi elemento restituiti è l'ordine in cui appaiono nel documento di origine.

Questo metodo è simile al metodo getElementsByTagName() tranne per il fatto che recupera gli elementi in base allo spazio dei nomi e al nome.


getElementById

Restituisce l'elemento con l'attributo id specificato

1
XmlElement XmlDocument.getElementById(String id);

Parametri di chiamata:

  • id: String, l'ID da recuperare

Risultati restituiti:

Questo metodo attraverserà i nodi discendenti del documento e restituirà aXmlElementUn oggetto nodo che rappresenta il primo elemento del documento con l'attributo id specificato. .


getElementsByClassName

Restituisce un elenco di nodi di tutti gli elementi con il nome della classe specificata

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Parametri di chiamata:

  • className: String, il nome della classe da recuperare

Risultati restituiti:

  • XmlNodeList, con il nome della classe specificata nell'albero del documentoXmlElementNodaleXmlNodeListraccogliere. L'ordine dei nodi elemento restituiti è l'ordine in cui appaiono nel documento di origine.

Questo metodo restituirà aXmlNodeListOggetto (può essere elaborato come un array di sola lettura), che memorizza tutti i file con il nome della classe specificata nel documentoXmlElementI nodi vengono archiviati nell'ordine in cui appaiono nel documento di origine.XmlNodeListL'oggetto è "live", ovvero se nel documento viene aggiunto o eliminato un elemento con il nome del tag specificato, il suo contenuto verrà automaticamente aggiornato secondo necessità.


createElement

Crea nodo elemento

1
XmlElement XmlDocument.createElement(String tagName);

Parametri di chiamata:

  • tagName: String, specifica il nome specificato del nodo dell'elemento

Risultati restituiti:

  • XmlElement, restituisce il file appena creatoXmlElementnodo, con il nome dell'etichetta specificato

createElementNS

Crea un nodo elemento con lo spazio dei nomi specificato

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

Parametri di chiamata:

  • namespaceURI: String, specifica l'URI dello spazio dei nomi del nodo dell'elemento
  • qualifiedName: String, specifica il nome specificato del nodo dell'elemento

Risultati restituiti:

  • XmlElement, restituisce il file appena creatoXmlElementnodo, con il nome dell'etichetta specificato

createTextNode

Crea nodo di testo

1
XmlText XmlDocument.createTextNode(String data);

Parametri di chiamata:

  • data: String, specifica il testo di questo nodo

Risultati restituiti:

  • XmlText, restituisce il file appena creatoXmlTextNodo, che rappresenta la stringa di dati specificata

createComment

Crea nodo di annotazione

1
XmlComment XmlDocument.createComment(String data);

Parametri di chiamata:

  • data: String, specifica il testo del commento di questo nodo

Risultati restituiti:

  • XmlComment, restituisce il file appena creatoXmlCommentNodo, il testo del commento corrisponde ai dati specificati

createCDATASection

creareXmlCDATASectionnodo

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Parametri di chiamata:

  • data: String, specifica che questo nodo specifica i dati CDATA

Risultati restituiti:


createProcessingInstruction

creareXmlProcessingInstructionnodo

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

Parametri di chiamata:

  • target: String, specifica la destinazione dell'istruzione di elaborazione
  • data: String, specifica il testo del contenuto dell'istruzione di elaborazione

Risultati restituiti:


hasChildNodes

Interroga se sono presenti nodi figlio

1
Boolean XmlDocument.hasChildNodes();

Risultati restituiti:

  • Boolean, restituisce vero se sono presenti nodi figli, altrimenti restituisce falso

normalize

Unisci nodi di testo adiacenti ed elimina i nodi di testo vuoti

1
XmlDocument.normalize();

Questo metodo attraverserà tutti i nodi discendenti del nodo corrente e normalizzerà il documento eliminando i nodi di testo vuoti e unendo tutti i nodi di testo adiacenti. Questo metodo è utile per semplificare la struttura dell'albero del documento dopo aver inserito o eliminato nodi.


cloneNode

Crea una copia esatta del nodo specificato

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

Parametri di chiamata:

  • deep: Booleano, se eseguire la copia profonda, quando è vero, il nodo clonato clonerà tutti i nodi figlio del nodo originale

Risultati restituiti:

  • XmlNode, restituisce il nodo copiato

Questo metodo copierà e restituirà una copia del nodo su cui è stato chiamato. Se l'argomento passato è vero, copierà ricorsivamente anche tutti i nodi discendenti del nodo corrente. Altrimenti, copia solo il nodo corrente. Il nodo restituito non appartiene all'albero del documento e la sua proprietà parentNode è nulla. Quando un nodo Elemento viene copiato, verranno copiate tutte le sue proprietà.


lookupPrefix

Restituisce il prefisso corrispondente all'URI dello spazio dei nomi specificato sul nodo corrente

1
String XmlDocument.lookupPrefix(String namespaceURI);

Parametri di chiamata:

  • namespaceURI: String, specifica l'URI dello spazio dei nomi corrispondente

Risultati restituiti:

  • String, restituisce il prefisso corrispondente, restituisce null se non corrisponde.

lookupNamespaceURI

Restituisce l'URI dello spazio dei nomi corrispondente al prefisso specificato sul nodo corrente

1
String XmlDocument.lookupNamespaceURI(String prefix);

Parametri di chiamata:

  • prefix: String, specifica il prefisso corrispondente

Risultati restituiti:

  • String, restituisce l'URI dello spazio dei nomi corrispondente, restituisce null se non corrisponde.

insertBefore

Inserisci un nuovo nodo figlio prima di un nodo figlio esistente

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

Parametri di chiamata:

  • newChild:XmlNode, inserisci un nuovo nodo
  • refChild:XmlNode, inserisci un nuovo nodo prima di questo nodo

Risultati restituiti:

  • XmlNode, restituisce il nuovo nodo figlio

Se newChild esiste già nell'albero del documento, verrà rimosso dall'albero del documento e reinserito nella sua nuova posizione. I nodi di un documento (o i nodi creati da un documento) non possono essere inseriti in un altro documento. Cioè, l'attributoownerDocument di newChild deve essere uguale all'attributoownerDocument del nodo corrente.


insertAfter

Inserisci un nuovo nodo figlio dopo un nodo figlio esistente

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

Parametri di chiamata:

  • newChild:XmlNode, inserisci un nuovo nodo
  • refChild:XmlNode, inserisci un nuovo nodo dopo questo nodo

Risultati restituiti:

  • XmlNode, restituisce il nuovo nodo figlio

Se newChild esiste già nell'albero del documento, verrà rimosso dall'albero del documento e reinserito nella sua nuova posizione. I nodi di un documento (o i nodi creati da un documento) non possono essere inseriti in un altro documento. Cioè, l'attributoownerDocument di newChild deve essere uguale all'attributoownerDocument del nodo corrente.


appendChild

Aggiunge un nuovo nodo figlio alla fine dell'elenco dei nodi figlio di un nodo

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Parametri di chiamata:

  • newChild:XmlNode, specificare il nodo aggiunto

Risultati restituiti:

  • XmlNode, restituisce questo nuovo nodo figlio

Se newChild esiste già nell'albero del documento, verrà rimosso dall'albero del documento e reinserito nella sua nuova posizione. I nodi di un documento (o i nodi creati da un documento) non possono essere inseriti in un altro documento. Cioè, l'attributoownerDocument di newChild deve essere uguale all'attributoownerDocument del nodo corrente.


replaceChild

Sostituisci un nodo figlio con un altro

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

Parametri di chiamata:

  • newChild:XmlNode, specificare il nuovo nodo
  • oldChild:XmlNode, specifica il nodo da sostituire

Risultati restituiti:

  • XmlNode, Se la sostituzione ha esito positivo, questo metodo può restituire il nodo sostituito. Se la sostituzione fallisce, restituisce null.

Se newChild esiste già nell'albero del documento, verrà rimosso dall'albero del documento e reinserito nella sua nuova posizione. I nodi di un documento (o i nodi creati da un documento) non possono essere inseriti in un altro documento. Cioè, l'attributoownerDocument di newChild deve essere uguale all'attributoownerDocument del nodo corrente.


removeChild

Rimuovere un nodo dall'elenco dei nodi figlio

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Parametri di chiamata:

  • oldChild:XmlNode, specifica il nodo da eliminare

Risultati restituiti:

  • XmlNode, Se l'eliminazione ha esito positivo, questo metodo può restituire il nodo eliminato. Se fallisce, restituisce null.

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String XmlDocument.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile