xml转换JavaScript

2024-01-23 18:06 更新

本模块提供转换xml文本为JavaScript对象的功能。

说明

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

  1. import convertxml from '@ohos.convertxml';

ConvertXML

convertToJSObject9+

convertToJSObject(xml: string, options?: ConvertOptions) : Object

转换xml文本为JavaScript对象。

系统能力: SystemCapability.Utils.Lang

参数:

参数名

类型

必填

说明

xml

string

传入的xml文本。

options

ConvertOptions

转换选项,默认值是ConvertOptions对象 , 由其中各个属性的默认值组成。。

返回值:

类型

说明

Object

处理后返回的JavaScript对象。

错误码:

以下错误码的详细介绍请参见语言基础类库错误码

错误码ID

错误信息

10200002

Invalid xml string.

示例:

  1. try {
  2. let xml =
  3. '<?xml version="1.0" encoding="utf-8"?>' +
  4. '<note importance="high" logged="true">' +
  5. ' <title>Happy</title>' +
  6. ' <todo>Work</todo>' +
  7. ' <todo>Play</todo>' +
  8. '</note>';
  9. let conv = new convertxml.ConvertXML()
  10. let options = {
  11. trim: false, declarationKey: "_declaration",
  12. instructionKey: "_instruction", attributesKey: "_attributes",
  13. textKey: "_text", cdataKey: "_cdata", doctypeKey: "_doctype",
  14. commentKey: "_comment", parentKey: "_parent", typeKey: "_type",
  15. nameKey: "_name", elementsKey: "_elements"
  16. }
  17. let result = JSON.stringify(conv.convertToJSObject(xml, options));
  18. console.log(result);
  19. } catch (e) {
  20. console.log(e.toString());
  21. }
  22. // 输出(宽泛型)
  23. // {"_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

转换xml文本为JavaScript对象。

说明

从API version 8开始支持,从API version 9开始废弃,建议使用convertToJSObject9+替代。

系统能力: SystemCapability.Utils.Lang

参数:

参数名

类型

必填

说明

xml

string

传入的xml文本。

options

ConvertOptions

转换选项,默认值是ConvertOptions对象 , 由其中各个属性的默认值组成。。

返回值:

类型

说明

Object

处理后返回的JavaScript对象。

示例:

  1. let xml =
  2. '<?xml version="1.0" encoding="utf-8"?>' +
  3. '<note importance="high" logged="true">' +
  4. ' <title>Happy</title>' +
  5. ' <todo>Work</todo>' +
  6. ' <todo>Play</todo>' +
  7. '</note>';
  8. let conv = new convertxml.ConvertXML();
  9. let options = {trim : false, declarationKey:"_declaration",
  10. instructionKey : "_instruction", attributesKey : "_attributes",
  11. textKey : "_text", cdataKey:"_cdata", doctypeKey : "_doctype",
  12. commentKey : "_comment", parentKey : "_parent", typeKey : "_type",
  13. nameKey : "_name", elementsKey : "_elements"}
  14. let result = JSON.stringify(conv.convert(xml, options));
  15. console.log(result);
  16. // 输出(宽泛型)
  17. // {"_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

转换选项。

系统能力: SystemCapability.Utils.Lang

名称

类型

必填

说明

trim

boolean

是否修剪位于文本前后的空白字符。

ignoreDeclaration

boolean

是否忽略xml写入声明指示,默认false。

ignoreInstruction

boolean

是否忽略xml的写入处理指令,默认false。

ignoreAttributes

boolean

是否跨多行打印属性并缩进属性,默认false。

ignoreComment

boolean

是否忽略元素的注释信息,默认false。

ignoreCDATA

boolean

是否忽略元素的CDATA信息,默认false。

ignoreDoctype

boolean

是否忽略元素的Doctype信息,默认false。

ignoreText

boolean

是否忽略元素的文本信息,默认false。

declarationKey

string

用于输出对象中declaration的属性键的名称。

instructionKey

string

用于输出对象中instruction的属性键的名称。

attributesKey

string

用于输出对象中attributes的属性键的名称。

textKey

string

用于输出对象中text的属性键的名称。

cdataKey

string

用于输出对象中cdata的属性键的名称。

doctypeKey

string

用于输出对象中doctype的属性键的名称。

commentKey

string

用于输出对象中comment的属性键的名称。

parentKey

string

用于输出对象中parent的属性键的名称。

typeKey

string

用于输出对象中type的属性键的名称。

nameKey

string

用于输出对象中name的属性键的名称。

elementsKey

string

用于输出对象中elements的属性键的名称。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号