在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

XML 在 HarmonyOS 中的生成,解析與轉換(上)

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-18 09:35 ? 次閱讀

一、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);

輸出結果如下:

rn  rn    Everydayrn    Giadarn    2005rn  rn


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • XML
    XML
    +關注

    關注

    0

    文章

    188

    瀏覽量

    33104
  • HarmonyOS
    +關注

    關注

    79

    文章

    1980

    瀏覽量

    30282
收藏 人收藏

    評論

    相關推薦

    XMLHarmonyOS生成解析轉換(下)

    一、XML 解析 對于以 XML 作為載體傳遞的數據,實際使用需要對相關的節點進行解析,一般包括解析
    的頭像 發表于 02-18 10:07 ?754次閱讀

    OpenHarmony語言基礎類庫【@ohos.xml (xml解析生成)】

    XML文本轉換為JavaScript對象、以及XML文件生成解析的一系列接口。
    的頭像 發表于 05-08 17:05 ?876次閱讀

    ArkTS語言基礎類庫-解析

    被設計用來傳輸和存儲數據,是一種可擴展標記語言。語言基礎類庫提供了[XML生成解析轉換]的能力。 URL、URI構造和解析能力:其中[U
    發表于 02-20 16:44

    跪求大神--XML解析

    小弟近日做一案子,需要用到UDP通訊,內容以XML格式發送接收。通訊沒有問題,現在的難題是如何把接收到的XML信息直接解析出來,提取想要的字符串內容。NI里面有例子都是讀取文檔的,想問各路大神有沒有辦法直接從
    發表于 06-04 10:22

    XML解析轉樹形控件

    xml解析成樹形控件執行速度奇慢代碼見附件版本8.6以上求提高效率的辦法
    發表于 10-17 14:59

    DevEco Studio將SVG文件轉換XML文件的過程分享

    轉為為XML格式的文件,然后布局文件引用轉換后的XML文件。這樣,就可以模擬器/預覽器或者
    發表于 05-06 11:23

    【中秋國慶不斷更】XMLHarmonyOS生成解析轉換

    XML還支持命名空間、實體引用、注釋、處理指令等特性,使其能夠靈活地適應各種數據需求。 語言基礎類庫提供了XML相關的基礎能力,包括:??XML生成??、??
    發表于 09-27 15:21

    【中秋國慶不斷更】XMLHarmonyOS生成解析轉換(下)

    一、XML解析 對于以XML作為載體傳遞的數據,實際使用需要對相關的節點進行解析,一般包括??解析
    發表于 09-27 15:24

    HarmonyOS語言基礎類庫開發指南上線啦!

    指南中提供了詳細的介紹和開發指導,幫助開發者全面了解并發實現、容器類庫基礎操作、XML生成解析轉換等。 本期HarmonyOS開發者資料
    發表于 10-18 16:36

    報文解析工具XML數據字典

    針對報文解析過程存在的數據存儲無序、查詢和調用不便等問題,提出應用XML 數據字典進行數據存儲的方案。根據給定的數據表,設計XML 形式的數據字典。實現
    發表于 03-28 09:38 ?36次下載

    MTK自帶的XML解析

    現在大多數軟件都用xml作為配置文件,MTK本身也帶了XML文件的解析,在此我不評說自帶XML解析效率
    發表于 08-31 16:00 ?0次下載

    MAVLink學習之路03 _XML定義MSG并生成C代碼

    MAVLink學習之路03_XML定義MSG并生成C代碼
    的頭像 發表于 03-07 16:46 ?3667次閱讀

    異構文本數據轉換過程中解析XML文本的方法對比

    對異構文本數據轉換過程中解析XML文本的DOM、SAX、JOM4J方法進行對比研究,以解析時間、內存堆占用空間、CPU占用率為評價指標來判定4種解析
    發表于 03-25 11:12 ?9次下載
    異構文本數據<b class='flag-5'>轉換過程中</b><b class='flag-5'>解析</b><b class='flag-5'>XML</b>文本的方法對比

    HarmonyOS語言基礎類庫開發指南上線啦!

    指南中提供了詳細的介紹和開發指導,幫助開發者全面了解并發實現、容器類庫基礎操作、XML生成解析轉換等。 本期HarmonyOS開發者資料
    的頭像 發表于 10-18 16:20 ?594次閱讀
    <b class='flag-5'>HarmonyOS</b>語言基礎類庫開發指南上線啦!

    【JAVA UI】【HarmonyOS】【Demo】 鴻蒙如何進行 xml 解析

    創建xml文件,創建model對象,構建界面 2.數據進行解析操作(重點) 3.運行效果 第一步準備條件 創建 xml 文件,創建 model 對象,構建界面 1.1 rawfi
    的頭像 發表于 02-19 15:59 ?588次閱讀
    【JAVA UI】【<b class='flag-5'>HarmonyOS</b>】【Demo】 鴻蒙如何進行 <b class='flag-5'>xml</b> <b class='flag-5'>解析</b>
    主站蜘蛛池模板: 亚洲一区二区三区在线播放| 加勒比一区二区三区| 男女午夜免费视频| 狠狠干狠狠搞| 午夜黄色| 亚洲区在线播放| 最近2018中文字幕免费看2019| 国产精品久久久久久久久齐齐| 伊人久久综合成人亚洲| 亚洲成人777| 色色色爱| 久久精品视频观看| 成人看片在线观看| 午夜精品在线| 国产又大又黄又粗又爽| 黄在线观看在线播放720p| 68日本xxxxxxxxx777| 性欧美性| 亚洲大黑香蕉在线观看75| 看看一级毛片| 国产卡一卡2卡三卡免费视频| 高清国产一区二区三区| 午夜免费剧场| 立即播放免费毛片一级| 欧美性操| 狠狠操天天干| 91精品日本久久久久久牛牛 | 色色色色色色色色色色色色| 免费看欧美一级特黄a大片一| 成人99| 国产亚洲精品激情都市| 69天堂| 国产午夜精品理论片在线 | 爽天天天天天天天| 亚洲酒色1314狠狠做| 国产免费久久| 青草精品视频| 最新大黄网站免费| 影院在线观看免费| 亚洲狠狠97婷婷综合久久久久| 六月丁香婷婷综合|