@ohos.convertxml (XML-to-JavaScript Conversion)
The convertxml module provides APIs for converting XML text into JavaScript objects.
NOTE
The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import convertxml from '@ohos.convertxml';
ConvertXML
convertToJSObject9+
convertToJSObject(xml: string, options?: ConvertOptions) : Object
Converts an XML text into a JavaScript object.
System capability: SystemCapability.Utils.Lang
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
xml | string | Yes | XML text to convert. |
options | ConvertOptions | No | Options for conversion. |
Return value
Type | Description |
---|---|
Object | JavaScript object. |
Error codes
For details about the error codes, see Utils Error Codes.
ID | Error Message |
---|---|
10200002 | Invalid xml string. |
Example
try {
let xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
let conv = new convertxml.ConvertXML()
let options = {
trim: false, declarationKey: "_declaration",
instructionKey: "_instruction", attributesKey: "_attributes",
textKey: "_text", cdataKey: "_cdata", doctypeKey: "_doctype",
commentKey: "_comment", parentKey: "_parent", typeKey: "_type",
nameKey: "_name", elementsKey: "_elements"
}
let result = JSON.stringify(conv.convertToJSObject(xml, options));
console.log(result);
} catch (e) {
console.log(e.toString());
}
// Output (non-compact)
// {"_declaration":{"_attributes":{"version":"1.0","encoding":"utf-8"}},"_elements":[{"_type":"element","_name":"note","_attributes":{"importance":"high","logged":"true"},"_elements":[{"_type":"element","_name":"title","_elements":[{"_type":"text","_text":"Happy"}]},{"_type":"element","_name":"todo","_elements":[{"_type":"text","_text":"Work"}]},{"_type":"element","_name":"todo","_elements":[{"_type":"text","_text":"Play"}]}]}]}
convert(deprecated)
convert(xml: string, options?: ConvertOptions) : Object
Converts an XML text into a JavaScript object.
NOTE
This API is supported since API version 8 and deprecated since API version 9. You are advised to use convertToJSObject9+ instead.
System capability: SystemCapability.Utils.Lang
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
xml | string | Yes | XML text to convert. |
options | ConvertOptions | No | Options for conversion. |
Return value
Type | Description |
---|---|
Object | JavaScript object. |
Example
let xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
' <title>Happy</title>' +
' <todo>Work</todo>' +
' <todo>Play</todo>' +
'</note>';
let conv = new convertxml.ConvertXML();
let options = {trim : false, declarationKey:"_declaration",
instructionKey : "_instruction", attributesKey : "_attributes",
textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype",
commentKey : "_comment", parentKey : "_parent", typeKey : "_type",
nameKey : "_name", elementsKey : "_elements"}
let result = JSON.stringify(conv.convert(xml, options));
console.log(result);
// Output (non-compact)
// {"_declaration":{"_attributes":{"version":"1.0","encoding":"utf-8"}},"_elements":[{"_type":"element","_name":"note","_attributes":{"importance":"high","logged":"true"},"_elements":[{"_type":"element","_name":"title","_elements":[{"_type":"text","_text":"Happy"}]},{"_type":"element","_name":"todo","_elements":[{"_type":"text","_text":"Work"}]},{"_type":"element","_name":"todo","_elements":[{"_type":"text","_text":"Play"}]}]}]}
ConvertOptions
Options for conversion.
System capability: SystemCapability.Utils.Lang
Name | Type | Mandatory | Description |
---|---|---|---|
trim | boolean | Yes | Whether to trim the whitespace characters before and after the text. The default value is false. |
ignoreDeclaration | boolean | No | Whether to ignore the XML declaration. The default value is false. |
ignoreInstruction | boolean | No | Whether to ignore the XML processing instruction. The default value is false. |
ignoreAttributes | boolean | No | Whether to print attributes across multiple lines and indent attributes. The default value is false. |
ignoreComment | boolean | No | Whether to ignore element comments. The default value is false. |
ignoreCDATA | boolean | No | Whether to ignore the element's CDATA information. The default value is false. |
ignoreDoctype | boolean | No | Whether to ignore the element's Doctype information. The default value is false. |
ignoreText | boolean | No | Whether to ignore the element's text information. The default value is false. |
declarationKey | string | Yes | Name of the attribute key for declaration in the output object. The default value is _declaration. |
instructionKey | string | Yes | Name of the attribute key for instruction in the output object. The default value is _instruction. |
attributesKey | string | Yes | Name of the attribute key for attributes in the output object. The default value is _attributes. |
textKey | string | Yes | Name of the attribute key for text in the output object. The default value is _text. |
cdataKey | string | Yes | Name of the attribute key for CDATA in the output object. The default value is _cdata. |
doctypeKey | string | Yes | Name of the attribute key for Doctype in the output object. The default value is _doctype. |
commentKey | string | Yes | Name of the attribute key for comment in the output object. The default value is _comment. |
parentKey | string | Yes | Name of the attribute key for parent in the output object. The default value is _parent. |
typeKey | string | Yes | Name of the attribute key for type in the output object. The default value is _type. |
nameKey | string | Yes | Name of the attribute key for name in the output object. The default value is _name. |
elementsKey | string | Yes | Name of the attribute key for elements in the output object. The default value is _elements. |