ToB企服应用市场:ToB评测及商务社交产业平台

标题: 鸿蒙ArkTS实战开辟:XML剖析 [打印本页]

作者: 罪恶克星    时间: 2024-8-13 08:19
标题: 鸿蒙ArkTS实战开辟:XML剖析
对于以XML作为载体转达的数据,实际利用中需要对相干的节点进行剖析,一般包括剖析XML标签和标签值、剖析XML属性和属性值、剖析XML事件范例和元素深度三类场景。
XML模块提供XmlPullParser类对XML文件剖析,输入为含有XML文本的ArrayBuffer或DataView,输出为剖析得到的信息。
表1 XML剖析选项
名称范例必填阐明supportDoctypeboolean否是否忽略文档范例。默认为false,表现对文档范例进行剖析。ignoreNameSpaceboolean否是否忽略命名空间。默认为false,表现对命名空间进行剖析。tagValueCallbackFunction(name: string, value: string) => boolean否获取tagValue回调函数,打印标签及标签值。默认为null,表现不进行XML标签和标签值的剖析。attributeValueCallbackFunction(name: string, value: string) => boolean否获取attributeValue回调函数, 打印属性及属性值。默认为null,表现不进行XML属性和属性值的剖析。tokenValueCallbackFunction(eventType: EventType, value: ParseInfo) => boolean否获取tokenValue回调函数,打印标签事件范例及parseInfo对应属性。默认为null,表现不进行XML事件范例剖析。 注意事项


剖析XML标签和标签值

剖析XML属性和属性值

剖析XML事件范例和元素深度

场景示例

此处以调用所有剖析选项为例,提供剖析XML标签、属性和事件范例的开辟示例。
  1. import xml from '@ohos.xml';
  2. import util from '@ohos.util';
  3. let strXml: string =
  4.   '<?xml version="1.0" encoding="UTF-8"?>' +
  5.     '<book category="COOKING">' +
  6.     '<title lang="en">Everyday</title>' +
  7.     '<author>Giada</author>' +
  8.     '</book>';
  9. let textEncoder: util.TextEncoder = new util.TextEncoder();
  10. let arrBuffer: Uint8Array = textEncoder.encodeInto(strXml);
  11. let that: xml.XmlPullParser = new xml.XmlPullParser(arrBuffer.buffer as object as ArrayBuffer, 'UTF-8');
  12. let str: string = '';
  13. function tagFunc(name: string, value: string): boolean {
  14.   str = name + value;
  15.   console.info('tag-' + str);
  16.   return true;
  17. }
  18. function attFunc(name: string, value: string): boolean {
  19.   str = name + ' ' + value;
  20.   console.info('attri-' + str);
  21.   return true;
  22. }
  23. function tokenFunc(name: xml.EventType, value: xml.ParseInfo): boolean {
  24.   str = name + ' ' + value.getDepth();
  25.   console.info('token-' + str);
  26.   return true;
  27. }
  28. let options: xml.ParseOptions = {
  29.   supportDoctype: true,
  30.   ignoreNameSpace: true,
  31.   tagValueCallbackFunction: tagFunc,
  32.   attributeValueCallbackFunction: attFunc,
  33.   tokenValueCallbackFunction: tokenFunc
  34. };
  35. that.parse(options);
复制代码
输出效果如下所示:
  1. tag-
  2. token-0 0
  3. tag-book
  4. attri-category COOKING
  5. token-2 1
  6. tag-title
  7. attri-lang en
  8. token-2 2
  9. tag-Everyday
  10. token-4 2
  11. tag-title
  12. token-3 2
  13. tag-author
  14. token-2 2
  15. tag-Giada
  16. token-4 2
  17. tag-author
  18. token-3 2
  19. tag-book
  20. token-3 1
  21. tag-
  22. token-1 0
复制代码
最后

有很多小同伴不知道学习哪些鸿蒙开辟技术?不知道需要重点把握哪些鸿蒙应用开辟知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开辟必把握的核心知识要点,内容包含了ArkTS、ArkUI开辟组件、Stage模型、多端摆设、分布式应用开辟、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开辟、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来资助,有需要的小同伴自行领取,限时开源,先到先得~无套路领取!!
如果你是一名有经验的资深Android移动开辟、Java开辟、前端开辟、对鸿蒙感兴趣以及转行职员,可以直接领取这份资料
 获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
鸿蒙(HarmonyOS NEXT)最新学习路线












 有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布条记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开辟入门教学视频,内容包含:ArkTS、ArkUI、Web开辟、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
《鸿蒙 (OpenHarmony)开辟入门教学视频》


《鸿蒙生态应用开辟V2.0白皮书》


《鸿蒙 (OpenHarmony)开辟基础到实战手册》

OpenHarmony北向、南向开辟环境搭建

 《鸿蒙开辟基础》



 《鸿蒙开辟进阶》



《鸿蒙进阶实战》



 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结

总的来说,华为鸿蒙不再兼容安卓,对中年步伐员来说是一个挑战,也是一个机遇。只有积极应对变革,不绝学习和提升自己,他们才能在这个变革的期间中立于不败之地。 



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4