Fundamental Concepts
XmlParser
The XMLParser provides the ability to parse and extract data from XML documents.
Using XmlParser β
To parse an xml document, first institiate the class with the ParserEvent handler.
constxmlParser=newXmlParser(this.onEventCallback);
onEventCallback(event: ParserEvent) {
switch (event.eventType) {
case ParserEventType.StartElement:
if (event.attributes) {
for (constattributeNamein event.attributes) {
if (event.attributes.hasOwnProperty(attributeName)) {
console.log({
eventType: event.eventType,
elementName: event.elementName,
attributeName: attributeName,
result: event.attributes[attributeName],
significantText: null,
});
}
}
} else {
console.log({
eventType: event.eventType,
elementName: event.elementName,
attributeName: null,
result: null,
significantText: null,
});
}
break;
case ParserEventType.EndElement:
console.log({
eventType: event.eventType,
elementName: event.elementName,
attributeName: null,
result: null,
significantText: null,
});
break;
case ParserEventType.Text:
constsignificantText= event.data.trim();
if (significantText !=='') {
console.log({
eventType: event.eventType,
elementName: null,
attributeName: null,
result: null,
significantText: significantText,
});
}
break;
default:
break;
}
}
Then call the parse method on the instance passing it the data to be parsed.
xmlParser.parse(`
<Document>
<First attr1=\ "attribute1\" attr2=\ "attribute2\">I am first</First>
<Second>I am second</Second>
<Third>
<FirstChild attr3=\ "attribute3\"></FirstChild>
</Third>
</Document>
`)
XmlParser API β
constructor β
constxmlParser=newXmlParser(onEvent: (event:ParserEvent) =>void, onError?: (error:Error, position:Position) =>void, processNamespaces?: boolean, angularSyntax?: boolean)
Creates a new instance of the XmlParser class.
onEvent
is the callback to execute when a parser event occurs.Optional:
onError
is the callback to execute when a parser error occurs. Theerror
parameter contains the error and theposition
represents the position of the parsing error.Optional:
processNamespaces
specifies whether namespaces should be processed.
parse() β
xmlParser.parse(xmlString: string)
Parses the supplied xml string.
ParserEvent β
The parser event data object has the following properties.
eventType β
consteventType:ParserEventType= event.eventType
Returns the type of the parser event. See ParserEventType
position β
constposition:Position= event.position
Returns the position (column number and line number) in the xml string where the event was generated.
prefix β
constprefix:Position= event.prefix
If namespace processing is enabled, returns the prefix of the element if the eventType is ParserEventType.StartElement
or ParserEventType.EndElement
.
namespace β
If namespace processing is enabled, returns the namespace of the element if the eventType is ParserEventType.StartElement
or ParserEventType.EndElement
.
elementName β
Returns the name of the element if the eventType is ParserEventType.StartElement
or ParserEventType.EndElement
.
attributes β
Returns a JSON object with the attributes of an element if the eventType is ParserEventType.StartElement
.
data β
Returns the relevant data if the eventType is ParserEventType.Text
, ParserEventType.CDATA
or ParserEventType.Comment
.
toString() β
Returns a JSON string representation of this instance.
ParserEventType β
The following are the available parser event types:
StartElement β
Specifies the StartElement event type.
EndElement β
Specifies the EndElement event type.
ParserEventType.Text β
Specifies the Text event type.
ParserEventType.CDATA β
Specifies the CDATA event type.
ParserEventType.Comment β
Specifies the Comment event type.
- Previous
- Utils
- Next
- Data Binding