0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony语言基础类库【@ohos.convertxml】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-23 21:09 次阅读

@ohos.convertxml (xml转换JavaScript)

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

说明:

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

导入模块

import convertxml from '@ohos.convertxml';

ConvertXML

convertToJSObject9+

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

转换xml文本为JavaScript对象。

系统能力: SystemCapability.Utils.Lang

参数

参数名类型必填说明
xmlstring传入的xml文本。
options[ConvertOptions]转换选项 , 默认值是ConvertOptions对象 , 由其中各个属性的默认值组成。

返回值:

类型说明
Object处理后返回的JavaScript对象。

错误码:

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

错误码ID错误信息
10200002Invalid xml string.

示例:

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());
}
// 输出(宽泛型)
// {"_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

参数:

参数名类型必填说明
xmlstring传入的xml文本。
options[ConvertOptions]转换选项 , 默认值是ConvertOptions对象 , 由其中各个属性的默认值组成。

返回值:

类型说明
Object处理后返回的JavaScript对象。

示例:

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);
// 输出(宽泛型)
// {"_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

鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

搜狗高速浏览器截图20240326151547.png

转换选项。

系统能力: SystemCapability.Utils.Lang

名称类型必填说明
trimboolean是否修剪位于文本前后的空白字符。
ignoreDeclarationboolean是否忽略xml写入声明指示,默认false。
ignoreInstructionboolean是否忽略xml的写入处理指令,默认false。
ignoreAttributesboolean是否跨多行打印属性并缩进属性,默认false。
ignoreCommentboolean是否忽略元素的注释信息,默认false。
ignoreCDATAboolean是否忽略元素的CDATA信息,默认false。
ignoreDoctypeboolean是否忽略元素的Doctype信息,默认false。
ignoreTextboolean是否忽略元素的文本信息,默认false。
declarationKeystring用于输出对象中declaration的属性键的名称。
instructionKeystring用于输出对象中instruction的属性键的名称。
attributesKeystring用于输出对象中attributes的属性键的名称。
textKeystring用于输出对象中text的属性键的名称。
cdataKeystring用于输出对象中cdata的属性键的名称
doctypeKeystring用于输出对象中doctype的属性键的名称。
commentKeystring用于输出对象中comment的属性键的名称。
parentKeystring用于输出对象中parent的属性键的名称。
typeKeystring用于输出对象中type的属性键的名称。
nameKeystring用于输出对象中name的属性键的名称。
elementsKeystring用于输出对象中elements的属性键的名称。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    57

    文章

    2352

    浏览量

    42859
  • OpenHarmony
    +关注

    关注

    25

    文章

    3722

    浏览量

    16321
收藏 人收藏

    评论

    相关推荐

    赶紧收藏!7大400多种组件,鸿蒙三方来了!

    方法https://gitee.com/openharmony-tpc/butterknifeassertj-ohos快速调用其他封装https://gitee.com/openharmon
    发表于 05-07 14:07

    HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言扩展能力基

    \'@ohos.app.ability.ExtensionAbility\'; 接口示例: *附件:HarmonyOSOpenHarmony应用开发-stage模型ArkTS语言扩展能力基
    发表于 04-26 10:00

    OpenHarmony C++公共基础应用案例:HelloWorld

    1、程序简介 该程序是基于OpenHarmony的C++公共基础的简单案例:HelloWorld。 该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即
    发表于 11-22 11:21

    OpenHarmony C++公共基础应用案例:Thread

    OpenHarmony C++公共基础应用案例:Thread 1、程序简介 该程序是基于OpenHarmony的C++公共基础
    发表于 11-22 11:50

    基于openharmony移植的ohos拼图支持

    项目介绍 项目名称:PuzzleView 所属系列:openharmony的第三方组件适配移植 功能:ohos拼图支持 项目移植状态:主功能完成,由于ohos暂不支持,所以分享功能暂
    发表于 03-22 11:24 2次下载

    基于openharmony适配移植的Ohos应用程序评价

    项目介绍 项目名称:OhosRateThisApp 所属系列:openharmony的第三方组件适配移植 功能:ohos显示“为该应用评分”对话框 项目移植状态:主功能完成 调用差异:无 开发版本
    发表于 03-28 10:33 2次下载

    openharmony第三方组件适配移植易于使用的ohos

    项目介绍 项目名称:MaterialScrollBar 所属系列:openharmony的第三方组件适配移植 功能:易于使用的ohos,可轻松实现滚动跟随效果 项目移植状态:主功能完成 调用差异
    发表于 03-30 10:44 0次下载

    基于openharmony适配移植的控件和常用组合成的Genius-Ohos

    项目介绍 项目名称:Genius-Ohos 所属系列:openharmony的第三方组件适配移植 功能:是 Material Design 控件和一些常用组合而成 项目移植状态:主
    发表于 04-07 09:06 1次下载

    HarmonyOS语言基础开发指南上线啦!

    语言基础提供哪些功能?多线程并发如何实现?TaskPool(任务池)和Worker在实现和使用场景上有何不同? 针对开发者关注的并发等语言基础
    的头像 发表于 10-18 16:20 584次阅读
    HarmonyOS<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>开发指南上线啦!

    OpenHarmony C++公共基础应用案例:Thread

    1、程序简介该程序是基于OpenHarmony的C++公共基础的线程处理:Thread。该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即
    的头像 发表于 11-23 08:22 932次阅读
    <b class='flag-5'>OpenHarmony</b> C++公共基础<b class='flag-5'>类</b><b class='flag-5'>库</b>应用案例:Thread

    OpenHarmony C++公共基础应用案例:HelloWorld

    1、程序简介该程序是基于OpenHarmony的C++公共基础的简单案例:HelloWorld。该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即
    的头像 发表于 11-23 08:22 703次阅读
    <b class='flag-5'>OpenHarmony</b> C++公共基础<b class='flag-5'>类</b><b class='flag-5'>库</b>应用案例:HelloWorld

    鸿蒙OpenHarmony大合集:【语言基础

    本示例集合语言基础的各个子模块,展示了各个模块的基础功能
    的头像 发表于 04-29 16:38 582次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>大合集:【<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>】

    鸿蒙语言基础ohos.convertxml xml转换JavaScript

    转换xml文本为JavaScript对象。
    的头像 发表于 07-08 15:54 429次阅读
    鸿蒙<b class='flag-5'>语言</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>:<b class='flag-5'>ohos.convertxml</b>  xml转换JavaScript

    OpenHarmony标准系统C++公共基础案例:HelloWorld

    1、程序简介该程序是基于凌蒙派OpenHarmony-v3.2.1标准系统C++公共基础的简单案例:HelloWorld。主要讲解C++公共基础
    的头像 发表于 08-13 08:23 525次阅读
    <b class='flag-5'>OpenHarmony</b>标准系统C++公共基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:HelloWorld

    基于OpenHarmony标准系统的C++公共基础案例:SafeBlockQueue

    1、程序简介该程序是基于OpenHarmony的C++公共基础的读写锁:SafeBlockQueue。线程安全阻塞队列SafeBlockQueue,提供阻塞和非阻塞版的入队入队和
    的头像 发表于 08-30 12:41 311次阅读
    基于<b class='flag-5'>OpenHarmony</b>标准系统的C++公共基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:SafeBlockQueue