【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(上)

这篇具有很好参考价值的文章主要介绍了【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、XML概述

XML(可扩展标记语言)是一种用于描述数据的标记语言,旨在提供一种通用的方式来传输和存储数据,特别是Web应用程序中经常使用的数据。XML并不预定义标记。因此,XML更加灵活,并且可以适用于广泛的应用领域。

XML文档由元素(element)、属性(attribute)和内容(content)组成。

​ ● 元素指的是标记对,包含文本、属性或其他元素。

​ ● 属性提供了有关元素的其他信息。

​ ● 内容则是元素包含的数据或子元素。

XML还可以通过使用XML Schema或DTD(文档类型定义)来定义文档结构。这些机制允许开发人员创建自定义规则以验证XML文档是否符合其预期的格式。

XML还支持命名空间、实体引用、注释、处理指令等特性,使其能够灵活地适应各种数据需求。

语言基础类库提供了XML相关的基础能力,包括:XML的生成、XML的解析和XML的转换。

XML可以作为数据交换格式,被各种系统和应用程序所支持。例如Web服务,可以将结构化数据以XML格式进行传递。

XML还可以作为消息传递格式,在分布式系统中用于不同节点之间的通信与交互。

二、XML生成

注意事项

​ ● XML标签必须成对出现,生成开始标签就要生成结束标签。

​ ● XML标签对大小写敏感,开始标签与结束标签大小写要一致。

开发步骤

XML模块提供XmlSerializer类来生成XML文件,输入为固定长度的Arraybuffer或DataView对象,该对象用于存放输出的XML数据。

通过调用不同的方法来写入不同的内容,如startElement(name: string)写入元素开始标记,setText(text: string)写入标签值。

XML模块的API接口可以参考@ohos.xml的详细描述,按需求调用对应函数可以生成一份完整的XML文件。

​ 1. 引入模块。

import xml from '@ohos.xml'; 
import util from '@ohos.util';

​ 2. 创建缓冲区,构造XmlSerializer对象(可以基于Arraybuffer构造XmlSerializer对象, 也可以基于DataView构造XmlSerializer对象)。

// 1.基于Arraybuffer构造XmlSerializer对象
let arrayBuffer = new ArrayBuffer(2048); // 创建一个2048字节的缓冲区
let thatSer = new xml.XmlSerializer(arrayBuffer); // 基于Arraybuffer构造XmlSerializer对象

// 2.基于DataView构造XmlSerializer对象
let arrayBuffer = new ArrayBuffer(2048); // 创建一个2048字节的缓冲区
let dataView = new DataView(arrayBuffer); // 使用DataView对象操作ArrayBuffer对象
let thatSer = new xml.XmlSerializer(dataView); // 基于DataView构造XmlSerializer对象

​ 3. 调用XML元素生成函数。

thatSer.setDeclaration(); // 写入xml的声明
thatSer.startElement('bookstore'); // 写入元素开始标记
thatSer.startElement('book'); // 嵌套元素开始标记
thatSer.setAttributes('category', 'COOKING'); // 写入属性及属性值
thatSer.startElement('title');
thatSer.setAttributes('lang', 'en');
thatSer.setText('Everyday'); // 写入标签值
thatSer.endElement(); // 写入结束标记
thatSer.startElement('author');
thatSer.setText('Giada');
thatSer.endElement();
thatSer.startElement('year');
thatSer.setText('2005');
thatSer.endElement();
thatSer.endElement();
thatSer.endElement();

​ 4. 使用Uint8Array操作Arraybuffer,调用TextDecoder对Uint8Array解码后输出。

let view = new Uint8Array(arrayBuffer); // 使用Uint8Array读取arrayBuffer的数据
let textDecoder = util.TextDecoder.create(); // 调用util模块的TextDecoder类
let res = textDecoder.decodeWithStream(view); // 对view解码
console.info(res);

输出结果如下:

<?xml version=\"1.0\" encoding=\"utf-8\"?><bookstore>\r\n  <book category=\"COOKING\">\r\n    <title lang=\"en\">Everyday</title>\r\n    <author>Giada</author>\r\n    <year>2005</year>\r\n  </book>\r\n</bookstore>

本文由博客一文多发平台 OpenWrite 发布!文章来源地址https://www.toymoban.com/news/detail-710328.html

到了这里,关于【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器

    @AnimatableExtend装饰器用于自定义可动画的属性方法,在这个属性方法中修改组件不可动画的属性。在动画执行过程时,通过逐帧回调函数修改不可动画属性值,让不可动画属性也能实现动画效果。 ​ ● 可动画属性:如果一个属性方法在animation属性前调用,改变这个属性的值

    2024年02月08日
    浏览(29)
  • 【中秋国庆不断更】OpenHarmony组件内状态变量使用:@State装饰器

    @State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。 在状态变量相关装饰器中,@State是最基础的,使变量拥有状态属性的装饰器,它也是大部分状态变量的数据源。 说明: 从API version 9开

    2024年02月08日
    浏览(33)
  • 国庆中秋特辑(四)MySQL如何性能调优?上篇

    国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题 国庆中秋特辑(五)MySQL如何性能调优?下篇 国庆中秋特辑(四)MySQL如何性能调优?上篇 国庆

    2024年02月08日
    浏览(34)
  • 国庆中秋特辑(五)MySQL如何性能调优?下篇

    国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题 国庆中秋特辑(五)MySQL如何性能调优?下篇 国庆中秋特辑(四)MySQL如何性能调优?上篇 国庆

    2024年02月08日
    浏览(28)
  • 国庆中秋特辑(八)Spring Boot项目如何使用JPA

    国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题 国庆中秋特辑(五)MySQL如何性能调优?下篇 国庆中秋特辑(四)MySQL如何性能调优?上篇 国庆

    2024年02月08日
    浏览(40)
  • 编码技巧:如何在Golang中高效解析和生成XML

    在当今数据驱动的编程世界中,有效地处理各种数据格式是每个开发人员必备的技能之一。其中,XML(可扩展标记语言)作为一种广泛使用的标记语言,它的灵活性和可扩展性使其在配置文件、网络服务以及跨平台数据交换中占据重要地位。然而,对于刚接触Golang的开发者来

    2024年01月16日
    浏览(26)
  • java请求SAP系统,发起soap的xml报文,实体类转换,idea自动生成教程

    1、将接口的网页地址,右键保存,然后修改文件后缀为wsdl文件 2、idea全局搜索 wsdl,找到自动转换javabean插件: 3、点击后,选择下载改完后缀的文件(选择):      4、将无用的class文件删除掉 5、请求sap的地址为:最下边有两个地址,http和https的,请求地址为http的,后缀改一

    2024年02月12日
    浏览(28)
  • HarmonyOS云开发基础认证考试满分答案(100分)【全网最全-不断更新】

    系列文章: HarmonyOS应用开发者基础认证满分答案(100分) HarmonyOS应用开发者基础认证【闯关习题 满分答案】 HarmonyOS应用开发者高级认证满分答案(100分) HarmonyOS云开发基础认证满分答案(100分) PC端可直接搜索 快捷键: Ctrl+F 题目特有、技术等等 如有

    2024年02月04日
    浏览(91)
  • 新版IDEA无法解析Maven项目中的pom.xml文件

    在使用新版IDEA进行Maven项目开发时,有时会遇到无法解析pom.xml文件的问题。这可能导致项目无法构建或无法正常导入相关依赖。本文将介绍一些可能的原因和解决方案,帮助您解决这个问题。 检查Maven配置: 首先,确保您的IDEA正确配置了Maven。在IDEA的设置中,通过以下步骤

    2024年02月03日
    浏览(45)
  • HarmonyOS应用开发者基础认证考试满分答案(100分)【全网最全-不断更新】

    系列文章: HarmonyOS应用开发者基础认证满分答案(100分) HarmonyOS应用开发者基础认证【闯关习题 满分答案】 HarmonyOS应用开发者高级认证满分答案(100分) HarmonyOS云开发基础认证满分答案(100分) PC端可直接搜索 快捷键: Ctrl+F 题目特有、技术等等 如有

    2024年01月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包