報文格式:xml 、定長報文、變長報文

WBOY
發布: 2016-09-24 09:02:46
原創
2934 人瀏覽過

目前接觸到的訊息格式有三種:xml 、定長訊息、變長訊息 。

此處只做簡單介紹,日後應該會深入學習到三者之間如何解析,再繼續更新。 ——2016.9.23

 

XML

XML 被設計用來傳輸和儲存資料。

HTML 被設計用來顯示資料。

XML 只是純文字

XML 沒什麼特別的。它只是純文字而已。有能力處理純文字的軟體都可以處理 XML。

不過,能夠讀懂 XML 的應用程式可以有針對性地處理 XML 的標籤。標籤的功能性意義依賴於應用程式的特性。

透過 XML 您可以發明自己的標籤

範例:

XML 使用简单的具有自我描述性的语法:<br /><br /><?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
登入後複製

  

上例中的標籤沒有在任何 XML 標準中定義過(例如 )。這些標籤是由文件的創作者發明的。

這是因為 XML 沒有預先定義的標籤。

在 HTML 中使用的標籤(以及 HTML 的結構)是預先定義的。 HTML 文件只使用在 HTML 標準中定義過的標籤(例如

等等)。

XML 允許創作者定義自己的標籤和自己的文件結構。

 

優缺點:

可讀性強,易於維護;

國際通用標準格式,不容易被防火牆攔截;

節點臃腫,佔用大量內存,傳輸慢。

定長報文

  目前應用最廣泛的報文。

  定義:使用固定的長度表示一個訊息。定長定長,就是固定長度,我暫時是這樣理解的。

  優點:省去多餘的節點,傳輸資料更快。

  限制:擔心以後所定義域的長度要加長,配置或程序就要隨之改變,維護困難。

範例:

例如定義一個18位元組的封包:abcde12345fghigklm

abcde為一個域,12345為一個域,fghigklm為一個域。這些都是根據編寫者定義的。如果業務需求要求報文增加日期,則需要修改報文為:abcde12345fghigklm20160923,現在則是一個26位元組的報文了。

如果定長報文含有多個域,且後期更改的域的格式有很多,這種情況就凸顯了定長報文的限制。

 

變長報文

結合xml的可維護性和定長報文的佔空間少。

<span style="color: #008080;">1</span> <span style="color: #000000;">例子:03abc051234502ef
</span><span style="color: #008080;">2</span> 说明:03  此域的长度标识(没有规范命名,暂且成为长度标识),向后取3位,即:abc<br />3     05  此域的长度标识,向后取5位,即: 12345<br />4       02  向后取2位,即: ef
登入後複製

 

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!