色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

鴻蒙語言基礎類庫:ohos.xml xml解析與生成

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-12 09:39 ? 次閱讀

xml解析與生成

說明: 本模塊首批接口從API version 8開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導入模塊

import xml from '@ohos.xml';

XmlSerializer

constructor

constructor(buffer: ArrayBuffer | DataView, encoding?: string)

XmlSerializer的構造函數。

系統能力: SystemCapability.Utils.Lang

參數

參數名類型必填說明
bufferArrayBufferDataView
encodingstring編碼格式。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);

setAttributes

setAttributes(name: string, value: string): void

設置Attributes方法。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring屬性的key值。
valuestring屬性的value值。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setAttributes("importance", "high");

addEmptyElement

addEmptyElement(name: string): void

寫入一個空元素。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring該空元素的元素名。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
thatSer.addEmptyElement("b"); // = >

setDeclaration

setDeclaration(): void

設置Declaration方法。

系統能力: SystemCapability.Utils.Lang

示例:

var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setDeclaration() // = > < ?xml version="1.0" encoding="utf-8"? >;

startElement

startElement(name: string): void

根據給定名稱寫入元素開始標記。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
namestring當前元素的元素名。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("notel");
thatSer.endElement();// = > '< notel/ >';

endElement

endElement(): void

寫入元素結束標記。

系統能力: SystemCapability.Utils.Lang

示例:

var arrayBuffer = new ArrayBuffer(1024);
var bufView = new DataView(arrayBuffer);
var thatSer = new xml.XmlSerializer(bufView);
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("table");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy");
endElement(); // = > < h:table importance="high" xmlns:h="http://www.w3.org/TR/html4/" >Happy< /h:table >

setNamespace

setNamespace(prefix: string, namespace: string): void

寫入當前元素標記的命名空間。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
prefixstring當前元素及其子元素的前綴。
namespacestring當前元素及其子元素的命名空間。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDeclaration();
thatSer.setNamespace("h", "http://www.w3.org/TR/html4/");
thatSer.startElement("note");
thatSer.endElement();// = >'< ?xml version="1.0" encoding="utf-8"? >rn< h:note xmlns:h="http://www.w3.org/TR/html4/"/ >';

setComment

setComment(text: string): void

寫入comment屬性。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
textstring當前元素的注釋內容。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setComment("Hi!");
thatSer.endElement(); // = > '< note >rn  < !--Hi!-- >rn< /note >';

setCDATA

setCDATA(text: string): void

寫入CDATA屬性。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
textstringCDATA屬性的內容。

示例:

var arrayBuffer = new ArrayBuffer(1028);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setCDATA('root SYSTEM') // = > '< ![CDATA[root SYSTEM]] >';

setText

setText(text: string): void

設置Text方法。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
textstringtext屬性的內容。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.startElement("note");
thatSer.setAttributes("importance", "high");
thatSer.setText("Happy1");
thatSer.endElement(); // = > '< note importance="high" >Happy1< /note >';

setDocType

setDocType(text: string): void

寫入DocType屬性。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
textstringDocType屬性的內容。

示例:

var arrayBuffer = new ArrayBuffer(1024);
var thatSer = new xml.XmlSerializer(arrayBuffer);
thatSer.setDocType('root SYSTEM'); // = > '< !DOCTYPE root SYSTEM >';

XmlPullParser

XmlPullParser

constructor(buffer: ArrayBuffer | DataView, encoding?: string)

創建并返回一個XmlPullParser對象,該XmlPullParser對象傳參兩個, 第一參數是ArrayBuffer或DataView類型的一段內存,第二個參數為文件格式(默認為UTF-8)

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
bufferArrayBufferDataView
encodingstring編碼格式(僅支持utf-8)。

示例:

var strXml =
            '< ?xml version="1.0" encoding="utf-8"? >' +
            '< note importance="high" logged="true" >' +
            '    < title >Happy< /title >' +
            '    < todo >Work< /todo >' +
            '    < todo >Play< /todo >' +
            '< /note >';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
    bufView[i] = strXml.charCodeAt(i);//設置arraybuffer方式
}
var that = new xml.XmlPullParser(arrayBuffer);

parse

parse(option: ParseOptions): void

該接口用于解析xml。

系統能力: SystemCapability.Utils.Lang

參數:

參數名類型必填說明
option[ParseOptions]用戶控制以及獲取解析信息的選項。

示例:

var strXml =
            '< ?xml version="1.0" encoding="utf-8"? >' +
            '< note importance="high" logged="true" >' +
            '    < title >Happy< /title >' +
            '    < todo >Work< /todo >' +
            '    < todo >Play< /todo >' +
            '< /note >';
var arrayBuffer = new ArrayBuffer(strXml.length*2);
var bufView = new Uint8Array(arrayBuffer);
var strLen = strXml.length;
for (var i = 0; i < strLen; ++i) {
    bufView[i] = strXml.charCodeAt(i);
}
var that = new xml.XmlPullParser(arrayBuffer);
var arrTag = {};
arrTag[0] = '132';
var i = 1;
function func(key, value){
    arrTag[i] = 'key:'+key+' value:'+ value.getDepth();
    i++;
    return true;
}
var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func}
that.parse(options);

ParseOptions

xml解析選項。

系統能力: 以下各項對應的系統能力均為SystemCapability.Utils.Lang

名稱類型必填說明
supportDoctypeboolean是否忽略Doctype , 默認false。
ignoreNameSpaceboolean是否忽略NameSpace,默認false。
tagValueCallbackFunction(name: string, value: string)=> boolean獲取tagValue回調函數。
attributeValueCallbackFunction(name: string, value: string)=> boolean獲取attributeValue回調函數。
tokenValueCallbackFunction(eventType: [EventType], value: [ParseInfo])=> boolean獲取tokenValue回調函數。

ParseInfo

當前xml解析信息。

getColumnNumber

getColumnNumber(): number

獲取當前列號,從1開始。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
number返回當前列號。

getDepth

getDepth(): number

獲取元素的當前深度。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
number返回元素的當前深度。

getLineNumber

getLineNumber(): number

獲取當前行號,從1開始。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
number返回當前行號。

getName

getName(): string

獲取當前元素名稱。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
string返回當前元素名稱。

getNamespace

getNamespace(): string

獲取當前元素的命名空間。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
string返回當前元素的命名空間。

getPrefix

getPrefix(): string

獲取當前元素前綴。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
string返回當前元素前綴。

getText

getText(): string

獲取當前事件的文本內容。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
string返回當前事件的文本內容。

isEmptyElementTag

isEmptyElementTag(): boolean

判斷當前元素是否為空元素。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
boolean返回true,當前元素為空元素。

isWhitespace

isWhitespace(): boolean

判斷當前文本事件是否僅包含空格字符。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明
boolean返回true,當前文本事件僅包含空格字符。

getAttributeCount

getAttributeCount(): number

獲取當前開始標記的屬性數。

系統能力: SystemCapability.Utils.Lang

返回值:

類型說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
number當前開始標記的屬性數。

EventType

事件枚舉。

系統能力: 以下各項對應的系統能力均為SystemCapability.Utils.Lang

名稱枚舉值說明
START_DOCUMENT0啟動文件事件。
END_DOCUMENT1結束文件事件。
START_TAG2啟動標簽事件。
END_TAG3結束標簽事件。
TEXT4文本事件。
CDSECT5CDATA事件。
COMMENT6XML注釋事件。
DOCDECL7XML文檔類型聲明事件。
INSTRUCTION8XML處理指令聲明事件。
ENTITY_REFERENCE9實體引用事件。
WHITESPACE10空白事件。

審核編輯 黃宇

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

    關注

    0

    文章

    188

    瀏覽量

    33104
  • 鴻蒙
    +關注

    關注

    57

    文章

    2372

    瀏覽量

    42911
收藏 人收藏

    評論

    相關推薦

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

    一、XML 概述 XML(可擴展標記語言)是一種用于描述數據的標記語言,旨在提供一種通用的方式來傳輸和存儲數據,特別是 Web 應用程序中經常使用的數據。
    的頭像 發表于 02-18 09:35 ?677次閱讀

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

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

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

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

    ArkTS語言基礎-解析

    被設計用來傳輸和存儲數據,是一種可擴展標記語言。語言基礎提供了[XML生成
    發表于 02-20 16:44

    鴻蒙原生應用開發-ArkTS語言基礎概述

    擴展標記語言。語言基礎提供了XML生成、解析與轉
    發表于 03-05 15:42

    xml SAX教程

    。不同于其他大多數XML標準的是,SAX沒有語言開發商必須遵守的標準SAX參考版本。因此,SAX的不同實現可能采用區別很大的接口。作為接口,SAX是事件驅動型XML解析的一個標準接口(
    發表于 10-07 13:32

    跪求大神--XML解析

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

    【中秋國慶不斷更】XML在HarmonyOS中的生成解析與轉換(上)

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

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

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

    MTK自帶的XML解析

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

    Java解析XML的一種數據綁定技術

    文中為了進一步用Java語言有效地解析XML文件,提出了一套XML文件與Java程序的綁定技術,通過該技術方法能夠使開發人員方便地將XML
    發表于 08-29 14:44 ?0次下載

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

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

    鴻蒙OS開發-(用xml寫查詢語句+xml使用)

    在C#中我們常用來當做一個小型的數據來使用,我們可以將信息保存在XML文檔中,或者從XML文檔中獲取數據。這樣就必須使用到XML文檔的數據讀取。
    的頭像 發表于 01-26 17:51 ?674次閱讀

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

    鴻蒙鴻蒙如何進行數據解析 【問題描述】有時候我們從服務器獲取是 xml 格式數據,我們需要將 xml 轉化成 model 對象,該如何使
    的頭像 發表于 02-19 15:59 ?593次閱讀
    【JAVA UI】【HarmonyOS】【Demo】 <b class='flag-5'>鴻蒙</b>如何進行 <b class='flag-5'>xml</b> <b class='flag-5'>解析</b>

    鴻蒙語言基礎ohos.convertxml xml轉換JavaScript

    轉換xml文本為JavaScript對象。
    的頭像 發表于 07-08 15:54 ?442次閱讀
    <b class='flag-5'>鴻蒙語言</b>基礎<b class='flag-5'>類</b><b class='flag-5'>庫</b>:<b class='flag-5'>ohos</b>.convertxml  <b class='flag-5'>xml</b>轉換JavaScript
    主站蜘蛛池模板: 久久免费资源福利资源站| 男人边吃奶边挵进去呻吟漫画| 欧美video巨大粗暴18| TUBE19UP老师学生| 入禽太深免费高清在线观看5| 囯产精品一品二区三区| 性直播免费| 久久精品一本到东京热| 97亚洲狠狠色综合久久久久| 日本无码毛片一区二区手机看| 国产精品永久免费视频| 在线观看国产视频| 日本午夜视频在线| 精品免费久久久久久影院| 99er热精品视频国产免费| 色婷婷粉嫩AV精品综合在线 | 夫外出被公侵犯日本电影| 亚洲色图另类小说| 日本69色视频在线观看| 饥渴的新婚女教师| 成人精品视频网站| 在线 日韩 欧美 国产 社区| 色WWW永久免费视频首页| 玖玖爱精品视频| 国产人妻人伦精品9| a级男女性高爱潮高清试看| 亚洲欧美日韩国产另类电影| 欧美一区二区三区男同| 久久国产香蕉视频| 国产精品无码AV天天爽色欲| 99影视久久电影网久久看影院 | 国拍自产精品福利区| chinese耄耋70老太性| 亚洲日韩精品AV中文字幕| 色婷婷激婷婷深爱五月小蛇| 麻生希第一部快播| 狠狠人妻久久久久久综合九色| 白丝萝莉喷水| 97精品国产亚洲AV高清| 亚洲免费国产在线日韩| 同桌别揉我奶了嗯啊|