這篇文章主要介紹“ABAP和XML數(shù)據(jù)格式互相轉(zhuǎn)換的方法是什么”,在日常操作中,相信很多人在ABAP和XML數(shù)據(jù)格式互相轉(zhuǎn)換的方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”ABAP和XML數(shù)據(jù)格式互相轉(zhuǎn)換的方法是什么”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供永善企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為永善眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
1. ABAP提供了一個(gè)工具類cl_proxy_xml_transform,通過它的兩個(gè)方法abap_to_xml_xstring和xml_xstring_to_abap實(shí)現(xiàn)兩種格式的互換。
看具體例子:
REPORT zxm. DATA: ls_abap TYPE zzcrmost__pro001dotproduct1. DATA: ls_line LIKE LINE OF ls_abap-item. ls_line-logsys = 'AG3'. ls_line-object_family = '0401'. ls_line-product_id = 'MCF-0001'. ls_line-product_type = '01'. APPEND ls_line TO ls_abap-item. ls_line-logsys = 'QDD'. ls_line-object_family = '0402'. ls_line-product_id = 'MCF-0002'. ls_line-product_type = '02'. APPEND ls_line TO ls_abap-item. DATA(xml) = cl_proxy_xml_transform=>abap_to_xml_xstring( EXPORTING abap_data = ls_abap ddic_type = 'ZZCRMOST__PRO001DOTPRODUCT1' ). DATA: ls_abap2 LIKE ls_abap, ls_abap3 LIKE ls_abap. cl_proxy_xml_transform=>xml_xstring_to_abap( EXPORTING ddic_type = 'ZZCRMOST__PRO001DOTPRODUCT1' xml = xml IMPORTING abap_data = ls_abap2 ). ASSERT ls_abap2 = ls_abap.
最后一行的ASSERT語句,說明從ABAP格式轉(zhuǎn)換成XML格式,再轉(zhuǎn)換成ABAP格式,轉(zhuǎn)換前的ABAP數(shù)據(jù)和轉(zhuǎn)換后的ABAP數(shù)據(jù)是完全相同的。
上述ABAP代碼使用到的結(jié)構(gòu)體zzcrmost__pro001dotproduct1類型定義如下:
如果我們單步調(diào)試工具類cl_proxy_xml_transform,發(fā)現(xiàn)它也沒有神奇之處,
內(nèi)部生成了一個(gè)ABAP simple transformation,以此來實(shí)現(xiàn)ABAP和XML格式的互相轉(zhuǎn)換。
在調(diào)試器里記錄下這個(gè)生成的transformation ID,然后用事務(wù)碼STRANS打開,就可以看到明細(xì)了。
2. 有了方法1單步調(diào)試發(fā)現(xiàn)simple transformation的提示,我們可以用另一種更簡單的辦法實(shí)現(xiàn)兩種格式的互換,即直接調(diào)用simple transformation:
DATA: lv_xml TYPE string.CALL TRANSFORMATION id SOURCE b = ls_abap RESULT XML lv_xml.
生成的XML的根節(jié)點(diǎn)名稱為b,因?yàn)樯厦娲a調(diào)用參數(shù)SOURCE,將ABAP變量ls_abap傳入時(shí),綁定的參數(shù)名為“b”。
CALL TRANSFORMATION id SOURCE XML lv_xml RESULT b = ls_abap3.
ASSERT ls_abap2 = ls_abap3. 用這種方式進(jìn)行ABAP->XML->ABAP仍然能得到最初的ABAP變量的值。
到此,關(guān)于“ABAP和XML數(shù)據(jù)格式互相轉(zhuǎn)換的方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
名稱欄目:ABAP和XML數(shù)據(jù)格式互相轉(zhuǎn)換的方法是什么
轉(zhuǎn)載注明:http://www.js-pz168.com/article8/pojdop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、、軟件開發(fā)、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)