Object-ingebouwd object

ObjectXmlDocument

XMLDocument is xmlEen object van de module, dat het gehele XML-document vertegenwoordigt en toegang biedt tot het gehele document.

XmlDocument is de root van een documentboom en bevat alle knooppunten in het gehele XML-document. Het XmlDocument-object biedt ook de volgende functies:

  1. Maak elementknooppunten, tekstknooppunten, opmerkingen, verwerkingsinstructies, enz.
  2. Documenteigenschappen en gerelateerde informatie openen en wijzigen (zoals DTD-opmerkingen en documentdeclaraties)
  3. Parseer XML-documenten

Het volgende is voorbeeldcode die het XmlDocument-object gebruikt om een ​​XML-document te parseren:

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

In de bovenstaande code gebruiken we eerst fsde modulemethode readFile()om een ​​XML-bestand te lezen en de bestandsstroom toe te wijzen aan de variabele xmlStr. Vervolgens gebruiken we [xml](../../module/ifs/xml.md)de methode van de module om het XML-bestand te parseren en het parse()geparseerde object aan een variabele toe te wijzen . Ten slotte gebruiken we het attribuut van om het hoofdknooppunt van het document op te halen, de knooppuntnaam op te halen en deze naar de console uit te voeren.XmlDocumentxmlDocxmlDocdocumentElement

Omdat XmlDocument de toegang tot het gehele XML-document is, kunnen we hierdoor documentgerelateerde informatie verkrijgen en wijzigen. We kunnen bijvoorbeeld de XML-versie en de zelfstandige kenmerken van het document verkrijgen en wijzigen via xmlDoc.xmlVersionen respectievelijk. xmlDoc.xmlStandaloneVia de methode kunnen we ook xmlDoc.createProcessingInstruction()nieuwe verwerkingsinstructieknooppunten creëren.

Het XmlDocument-object is een zeer krachtig type dat ons veel gemak biedt bij het verwerken en parseren van XML-bestanden.

erfenis relatie

Constructeur

XmlDocument

Construeer een XmlDocument-object

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

Oproepparameters:

  • type: String, specificeert het type documentobject, de standaardwaarde is "text/xml", als u html moet verwerken, moet u "text/html" opgeven

eigenschappen van leden

inputEncoding

Tekenreeks, retourneert de codering die voor het document is gebruikt (bij parseren)

1
readonly String XmlDocument.inputEncoding;

xmlStandalone

Boolean, stelt in of retourneert of het document op zichzelf staat

1
Boolean XmlDocument.xmlStandalone;

xmlVersion

String, stelt de XML-versie van het document in of retourneert deze

1
String XmlDocument.xmlVersion;

doctype

XmlDocumentType, retourneert de documenttypeverklaring die betrekking heeft op het document

1
readonly XmlDocumentType XmlDocument.doctype;

Voor XML-documenten zonder DTD wordt null geretourneerd. Deze accommodatie biedtXmlDocumentTypeDirecte toegang tot het object (een onderliggend knooppunt van XmlDocument).


documentElement

XmlElement, retourneert het hoofdknooppunt van het document

1
readonly XmlElement XmlDocument.documentElement;

XmlElement, retourneert het hoofdknooppunt van het HTML-document, alleen geldig in de html-modus

1
readonly XmlElement XmlDocument.head;

title

String, retourneert de inhoud van het titelknooppunt van het HTML-document, alleen geldig in html-modus

1
readonly String XmlDocument.title;

body

XmlElement, retourneert het hoofdknooppunt van het HTML-document, alleen geldig in de html-modus

1
readonly XmlElement XmlDocument.body;

nodeType

Geheel getal, retourneert het knooppunttype van het knooppunt

1
readonly Integer XmlDocument.nodeType;

Het nodeType van verschillende objecten retourneert verschillende waarden:


nodeName

String, retourneert de naam van het knooppunt, afhankelijk van het type

1
readonly String XmlDocument.nodeName;

De nodeName van verschillende objecten retourneert verschillende waarden:


nodeValue

String, retourneert de naam van het knooppunt, afhankelijk van het type

1
String XmlDocument.nodeValue;

De nodeName van verschillende objecten retourneert verschillende waarden:


ownerDocument

XmlDocument, retourneert het hoofdelement van het knooppunt (XmlDocument-object)

1
readonly XmlDocument XmlDocument.ownerDocument;

parentNode

XmlNode, kan het bovenliggende knooppunt van een knooppunt retourneren

1
readonly XmlNode XmlDocument.parentNode;

childNodes

XmlNodeList, retourneert de knooppuntenlijst van de onderliggende knooppunten van het opgegeven knooppunt

1
readonly XmlNodeList XmlDocument.childNodes;

children

XmlNodeList, retourneert de knooppuntenlijst van de onderliggende elementknooppunten van het opgegeven knooppunt.

1
readonly XmlNodeList XmlDocument.children;

firstChild

XmlNode, retourneert het eerste onderliggende knooppunt van het knooppunt

1
readonly XmlNode XmlDocument.firstChild;

lastChild

XmlNode, retourneert het laatste onderliggende knooppunt van het knooppunt

1
readonly XmlNode XmlDocument.lastChild;

previousSibling

XmlNode, retourneert het knooppunt dat onmiddellijk aan een knooppunt voorafgaat (op hetzelfde boomniveau). Als een dergelijk knooppunt niet bestaat, retourneert deze eigenschap null.

1
readonly XmlNode XmlDocument.previousSibling;

nextSibling

XmlNode, retourneert het knooppunt dat onmiddellijk volgt op een element (op hetzelfde boomniveau). Als zo'n knooppunt niet bestaat, retourneert het attribuut null.

1
readonly XmlNode XmlDocument.nextSibling;

firstElementChild

XmlNode, retourneert het eerste onderliggende elementknooppunt van het knooppunt

1
readonly XmlNode XmlDocument.firstElementChild;

lastElementChild

XmlNode, retourneert het laatste onderliggende elementknooppunt van het knooppunt

1
readonly XmlNode XmlDocument.lastElementChild;

previousElementSibling

XmlNode, retourneert het elementknooppunt dat onmiddellijk aan een knooppunt voorafgaat (op hetzelfde boomniveau). Als zo'n knooppunt niet bestaat, retourneert deze eigenschap null.

1
readonly XmlNode XmlDocument.previousElementSibling;

nextElementSibling

XmlNode, retourneert het elementknooppunt dat onmiddellijk volgt op een element (op hetzelfde boomniveau). Als zo'n knooppunt niet bestaat, retourneert het attribuut null.

1
readonly XmlNode XmlDocument.nextElementSibling;

textContent

String, query's en stelt de tekst van het geselecteerde element in. Retourneert bij het opvragen de waarden van alle tekstknooppunten binnen het elementknooppunt; bij het instellen worden alle onderliggende knooppunten verwijderd en vervangen door een enkel tekstknooppunt.

1
String XmlDocument.textContent;

lid functie

load

Het document is samengesteld door het parseren van een XML/HTML-tekenreeks. Meertaligheid wordt niet ondersteund.

1
XmlDocument.load(String source);

Oproepparameters:

  • source: String, de XML/HTML-tekst die moet worden geparseerd, afhankelijk van het type waarop het document is gemaakt

Het document wordt samengesteld door het parseren van een binaire XML/HTML-reeks en automatisch geconverteerd volgens de taal.

1
XmlDocument.load(Buffer source);

Oproepparameters:

  • source:Buffer, de XML/HTML-tekst die moet worden geparseerd, afhankelijk van het type document toen het werd gemaakt

getElementsByTagName

Retourneert een knooppuntenlijst met alle elementen met de opgegeven naam

1
XmlNodeList XmlDocument.getElementsByTagName(String tagName);

Oproepparameters:

  • tagName: String, de tagnaam die moet worden opgehaald. De waarde "*" komt overeen met alle tags

Resultaten retourneren:

  • XmlNodeList, met de opgegeven tag in de documentboomXmlElementKnooppuntXmlNodeListbijeenkomen. De volgorde van de geretourneerde elementknooppunten is de volgorde waarin ze in het brondocument verschijnen.

Deze methode retourneert aXmlNodeListObject (kan worden verwerkt als een alleen-lezen array) waarin alle tags in het document met de opgegeven tagnaam worden opgeslagenXmlElementKnooppunten worden opgeslagen in de volgorde waarin ze in het brondocument verschijnen.XmlNodeListHet object is "live", dat wil zeggen dat als een element met de opgegeven tagnaam in het document wordt toegevoegd of verwijderd, de inhoud ervan indien nodig automatisch wordt bijgewerkt.


getElementsByTagNameNS

Retourneert een knooppuntenlijst met alle elementen met de opgegeven naamruimte en naam

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

Oproepparameters:

  • namespaceURI: String, specificeert de naamruimte-URI die moet worden opgehaald. De waarde "*" komt overeen met alle tags
  • localName: String, de tagnaam die moet worden opgehaald. De waarde "*" komt overeen met alle tags

Resultaten retourneren:

  • XmlNodeList, met de opgegeven tag in de documentboomXmlElementKnooppuntXmlNodeListbijeenkomen. De volgorde van de geretourneerde elementknooppunten is de volgorde waarin ze in het brondocument verschijnen.

Deze methode is vergelijkbaar met de methode getElementsByTagName(), behalve dat deze elementen ophaalt op basis van naamruimte en naam.


getElementById

Retourneert het element met het opgegeven id-attribuut

1
XmlElement XmlDocument.getElementById(String id);

Oproepparameters:

  • id: String, de id die moet worden opgehaald

Resultaten retourneren:

Deze methode doorkruist de onderliggende knooppunten van het document en retourneert aXmlElementEen knooppuntobject dat het eerste documentelement met het opgegeven id-attribuut vertegenwoordigt. .


getElementsByClassName

Retourneert een knooppuntenlijst met alle elementen met de opgegeven klassenaam

1
XmlNodeList XmlDocument.getElementsByClassName(String className);

Oproepparameters:

  • className: String, de klassenaam die moet worden opgehaald

Resultaten retourneren:

  • XmlNodeList, met de opgegeven klassenaam in de documentboomXmlElementKnooppuntXmlNodeListbijeenkomen. De volgorde van de geretourneerde elementknooppunten is de volgorde waarin ze in het brondocument verschijnen.

Deze methode retourneert aXmlNodeListObject (kan worden verwerkt als een alleen-lezen array), waarin alle bestanden met de opgegeven klassenaam in het document worden opgeslagenXmlElementKnooppunten worden opgeslagen in de volgorde waarin ze in het brondocument verschijnen.XmlNodeListHet object is "live", dat wil zeggen dat als een element met de opgegeven tagnaam in het document wordt toegevoegd of verwijderd, de inhoud ervan indien nodig automatisch wordt bijgewerkt.


createElement

Elementknooppunt maken

1
XmlElement XmlDocument.createElement(String tagName);

Oproepparameters:

  • tagName: String, specificeert de opgegeven naam van het elementknooppunt

Resultaten retourneren:


createElementNS

Creëert een elementknooppunt met de opgegeven naamruimte

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

Oproepparameters:

  • namespaceURI: String, specificeert de naamruimte-URI van het elementknooppunt
  • qualifiedName: String, specificeert de opgegeven naam van het elementknooppunt

Resultaten retourneren:


createTextNode

Maak een tekstknooppunt

1
XmlText XmlDocument.createTextNode(String data);

Oproepparameters:

  • data: String, specificeert de tekst van dit knooppunt

Resultaten retourneren:

  • XmlText, retourneert het nieuw gemaakteXmlTextKnooppunt, dat de opgegeven gegevensreeks vertegenwoordigt

createComment

Annotatieknooppunt maken

1
XmlComment XmlDocument.createComment(String data);

Oproepparameters:

  • data: String, specificeert de commentaartekst van dit knooppunt

Resultaten retourneren:

  • XmlComment, retourneert het nieuw gemaakteXmlCommentKnooppunt, de commentaartekst zijn de opgegeven gegevens

createCDATASection

creërenXmlCDATASectionknooppunt

1
XmlCDATASection XmlDocument.createCDATASection(String data);

Oproepparameters:

  • data: String, geeft aan dat dit knooppunt CDATA-gegevens specificeert

Resultaten retourneren:


createProcessingInstruction

creërenXmlProcessingInstructionknooppunt

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

Oproepparameters:

  • target: String, specificeert het doel van de verwerkingsinstructie
  • data: String, specificeert de inhoudstekst van de verwerkingsinstructie

Resultaten retourneren:


hasChildNodes

Vraag of er onderliggende knooppunten zijn

1
Boolean XmlDocument.hasChildNodes();

Resultaten retourneren:

  • Boolean, retourneert true als er onderliggende knooppunten zijn, retourneert anders false

normalize

Voeg aangrenzende tekstknooppunten samen en verwijder lege tekstknooppunten

1
XmlDocument.normalize();

Deze methode doorloopt alle onderliggende knooppunten van het huidige knooppunt en normaliseert het document door lege tekstknooppunten te verwijderen en alle aangrenzende tekstknooppunten samen te voegen. Deze methode is handig voor het vereenvoudigen van de structuur van de documentboom na het invoegen of verwijderen van knooppunten.


cloneNode

Creëert een exacte kopie van het opgegeven knooppunt

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

Oproepparameters:

  • deep: Booleaans, of er diep gekopieerd moet worden; indien waar, zal het gekloonde knooppunt alle onderliggende knooppunten van het oorspronkelijke knooppunt klonen

Resultaten retourneren:

  • XmlNode, retourneert het gekopieerde knooppunt

Deze methode kopieert en retourneert een kopie van het knooppunt waarop deze is aangeroepen. Als het argument dat eraan wordt doorgegeven waar is, zal het ook recursief alle onderliggende knooppunten van het huidige knooppunt kopiëren. Anders kopieert het alleen het huidige knooppunt. Het geretourneerde knooppunt behoort niet tot de documentboom en de eigenschap parentNode is nul. Wanneer een Elementknooppunt wordt gekopieerd, worden alle eigenschappen ervan gekopieerd.


lookupPrefix

Retourneert het voorvoegsel dat overeenkomt met de opgegeven naamruimte-URI op het huidige knooppunt

1
String XmlDocument.lookupPrefix(String namespaceURI);

Oproepparameters:

  • namespaceURI: String, specificeert de overeenkomende naamruimte-URI

Resultaten retourneren:

  • String, retourneert het overeenkomende voorvoegsel, retourneert null als het niet overeenkomt.

lookupNamespaceURI

Retourneert de naamruimte-URI die overeenkomt met het opgegeven voorvoegsel op het huidige knooppunt

1
String XmlDocument.lookupNamespaceURI(String prefix);

Oproepparameters:

  • prefix: String, specificeert het overeenkomende voorvoegsel

Resultaten retourneren:

  • String, retourneert de overeenkomende naamruimte-URI, retourneert null als deze niet overeenkomt.

insertBefore

Voeg een nieuw onderliggend knooppunt in vóór een bestaand onderliggend knooppunt

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

Oproepparameters:

  • newChild:XmlNode, voeg een nieuw knooppunt in
  • refChild:XmlNode, plaats een nieuw knooppunt vóór dit knooppunt

Resultaten retourneren:

  • XmlNode, retourneert het nieuwe onderliggende knooppunt

Als newChild al bestaat in de documentboom, wordt het verwijderd uit de documentboom en opnieuw ingevoegd op de nieuwe positie. Knooppunten uit één document (of knooppunten die door één document zijn gemaakt) kunnen niet in een ander document worden ingevoegd. Dat wil zeggen dat het kenmerk ownDocument van newChild hetzelfde moet zijn als het kenmerk ownDocument van het huidige knooppunt.


insertAfter

Voeg een nieuw onderliggend knooppunt in na een bestaand onderliggend knooppunt

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

Oproepparameters:

  • newChild:XmlNode, voeg een nieuw knooppunt in
  • refChild:XmlNode, voeg een nieuw knooppunt in na dit knooppunt

Resultaten retourneren:

  • XmlNode, retourneert het nieuwe onderliggende knooppunt

Als newChild al bestaat in de documentboom, wordt het verwijderd uit de documentboom en opnieuw ingevoegd op de nieuwe positie. Knooppunten uit één document (of knooppunten die door één document zijn gemaakt) kunnen niet in een ander document worden ingevoegd. Dat wil zeggen dat het kenmerk ownDocument van newChild hetzelfde moet zijn als het kenmerk ownDocument van het huidige knooppunt.


appendChild

Voegt een nieuw onderliggend knooppunt toe aan het einde van de lijst met onderliggende knooppunten van een knooppunt

1
XmlNode XmlDocument.appendChild(XmlNode newChild);

Oproepparameters:

  • newChild:XmlNode, geef het toegevoegde knooppunt op

Resultaten retourneren:

  • XmlNode, retourneert dit nieuwe onderliggende knooppunt

Als newChild al bestaat in de documentboom, wordt het verwijderd uit de documentboom en opnieuw ingevoegd op de nieuwe positie. Knooppunten uit één document (of knooppunten die door één document zijn gemaakt) kunnen niet in een ander document worden ingevoegd. Dat wil zeggen dat het kenmerk ownDocument van newChild hetzelfde moet zijn als het kenmerk ownDocument van het huidige knooppunt.


replaceChild

Vervang een onderliggend knooppunt door een ander

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

Oproepparameters:

  • newChild:XmlNode, geef het nieuwe knooppunt op
  • oldChild:XmlNode, specificeert het knooppunt dat moet worden vervangen

Resultaten retourneren:

  • XmlNode, Als de vervanging succesvol is, kan deze methode het vervangen knooppunt retourneren. Als de vervanging mislukt, retourneert deze null.

Als newChild al bestaat in de documentboom, wordt het verwijderd uit de documentboom en opnieuw ingevoegd op de nieuwe positie. Knooppunten uit één document (of knooppunten die door één document zijn gemaakt) kunnen niet in een ander document worden ingevoegd. Dat wil zeggen dat het kenmerk ownDocument van newChild hetzelfde moet zijn als het kenmerk ownDocument van het huidige knooppunt.


removeChild

Verwijder een knooppunt uit de lijst met onderliggende knooppunten

1
XmlNode XmlDocument.removeChild(XmlNode oldChild);

Oproepparameters:

  • oldChild:XmlNode, geeft het knooppunt op dat moet worden verwijderd

Resultaten retourneren:

  • XmlNode, Als de verwijdering succesvol is, kan deze methode het verwijderde knooppunt retourneren. Als dit mislukt, retourneert deze null.

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String XmlDocument.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat