0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是XML?

汽車電子技術(shù) ? 來源: 碼農(nóng)與軟件時(shí)代 ? 作者:碼農(nóng)與軟件時(shí)代 ? 2023-02-14 15:19 ? 次閱讀

一、為什么出現(xiàn)XML?

還是從軟件說起,其本質(zhì)是信息處理以及對信息處理的自動化。在軟件系統(tǒng)中,數(shù)據(jù)是信息的載體,是對客觀事物所蘊(yùn)含信息的抽象描述。軟件對數(shù)據(jù)的處理包括:Define(定義)、Transfer(傳遞)、Transform(轉(zhuǎn)換)、Store(存儲)、Retrival(檢索)和Show(展示)。

圖片

數(shù)據(jù)可以以二進(jìn)制的形式表示也可以以文本的形式表示。二進(jìn)制文件是一個0和1的序列,通常需要專用的程序進(jìn)行識別和解析,由于占用帶寬較少,適用于網(wǎng)絡(luò)傳輸,但對于用戶來說很難理解。而文本文件是一個由字符組成的文件,方便用戶理解,但文件通常較大。

圖片

《雜談:語言的鴻溝》一文中,我們曾討論過人們總是在追求簡單方便。同樣地,在二進(jìn)制文件和文本文件之間人們通常選擇的是文本文件。但在文本文件中,人們還希望文本文件能夠自表達(dá)所蘊(yùn)含的意義,希望的是有格式的文本數(shù)據(jù),于是就需要標(biāo)記元數(shù)據(jù)以及所標(biāo)識的原始數(shù)據(jù)。在這種情況下,SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語言)以一種規(guī)范性的標(biāo)準(zhǔn)出現(xiàn)了,其官網(wǎng)簡單示例如下所示:

圖片

SGML允許人們使用標(biāo)準(zhǔn)的語法語義創(chuàng)建他們自已的標(biāo)記語言,例如,HTML使用<>來標(biāo)識元數(shù)據(jù),并且在標(biāo)記內(nèi)可以增加定義。SGML具有的這種靈活性,同時(shí)也帶來了復(fù)雜性,事實(shí)上,這使得SGML的解析及處理變得十分困難,很難在網(wǎng)絡(luò)上進(jìn)行廣泛地應(yīng)用。所以SGML需要改變,需要簡化。這種情況下,XML(eXtensible Markup Language,可擴(kuò)展標(biāo)記語言)作為SGML的一個簡化子集出現(xiàn)了。

二、什么是XML?

  1. 基礎(chǔ)

1998年2月,W3C發(fā)布了XML的推薦標(biāo)準(zhǔn),XML繼承了SGML的靈活性,沒有預(yù)定義的標(biāo)簽,標(biāo)簽是由XML的編寫人員根據(jù)業(yè)務(wù)需求進(jìn)行編寫的,如下圖所示,、、都是自定義的標(biāo)簽,且都有一個對應(yīng)的關(guān)閉標(biāo)簽:

圖片

一個基本的XML示例包含XML聲明、根元素和子元素。其中,XML聲明定義XML的版本和所用的編碼;根元素是每個XML文檔都必須包含的,并做為XML樹的根而解析,如下所示:

圖片

XML的解析就是其內(nèi)容進(jìn)行分解并重建,通常情況下將其抽象為DOM模型--使用樹型結(jié)構(gòu)表示,該模型提供了內(nèi)存中訪問和修改XML信息的方法。需要說明的是,DOM消耗的內(nèi)存較大。

XML允許自定義標(biāo)簽,同時(shí)如果XML文檔存在錯誤,那么程序就不應(yīng)當(dāng)繼續(xù)處理這個文檔。那么我們?nèi)绾蝸眚?yàn)證XML文檔是正確的呢?有兩種方式:

  • DTD(document type definitions,文件類型定義)

圖片

  • XML Schema

圖片

2. 應(yīng)用場景

在XML出現(xiàn)的前部分時(shí)間,XML使用得較少。隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)服務(wù)大量地接收和發(fā)送數(shù)據(jù),但數(shù)據(jù)格式由于技術(shù)體系的不同而呈現(xiàn)出較大的差異,數(shù)據(jù)格式多且大部分都是專有的,開發(fā)人員需要做很多數(shù)據(jù)轉(zhuǎn)換的工作。這就需要實(shí)現(xiàn)數(shù)據(jù)格式的通用性。XML作為對人機(jī)友好的文件格式,可提高數(shù)據(jù)的通用性,使不同組件間的數(shù)據(jù)交互更容易,并使得開發(fā)人員聚焦于業(yè)務(wù)邏輯的開發(fā)與創(chuàng)新。XML在數(shù)據(jù)交換領(lǐng)域并得到了廣泛的應(yīng)用。除此之外,XML還應(yīng)用于:

  • 配置文件:許多應(yīng)用或框架的配置文件都采用XML格式,如Struct、Spring等框架;
  • 數(shù)據(jù)庫系統(tǒng):大多數(shù)數(shù)據(jù)庫系統(tǒng)都能保存XML格式的文件。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    9469
  • Transform
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5640
  • define
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    3718
收藏 人收藏

    評論

    相關(guān)推薦

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

    XML文本轉(zhuǎn)換為JavaScript對象、以及XML文件生成和解析的一系列接口。
    的頭像 發(fā)表于 05-08 17:05 ?726次閱讀

    xml文件如何打開?怎樣打開XML文件?

    XML是ExtensibleMarkupLanguage的簡寫,一種擴(kuò)展性標(biāo)識語言。現(xiàn)在教你打開xml文件的方法和軟件。呵,其實(shí)最簡單的就是用EXCEL表格打開了。。也可以用Netscape 6來
    發(fā)表于 07-04 17:56

    PowerDesigner 與XML建模

    PowerDesigner 10 introduces a new XML ModelDesign, generate and reverse engineering XML Schema
    發(fā)表于 06-27 16:58 ?15次下載
    PowerDesigner 與<b class='flag-5'>XML</b>建模

    xml教程下載

     XML簡介 XML文檔的組成 XML的語法規(guī)則 元素的語法 XML文檔的有效性  DTD簡介 DTD語法&n
    發(fā)表于 10-07 13:06 ?0次下載

    xml教程pdf (XML終極教程下載)

    xml教程pdf (XML終極教程下載) Welcome to the XML Bible. After reading this book I hope you’ll agree with me
    發(fā)表于 10-07 14:15 ?0次下載

    XML Reference Material

    This appendix contains XML reference material. It isdivided into three main parts:1. XML BNF
    發(fā)表于 10-07 14:18 ?8次下載

    An Eagle’s Eye View of XML

    This first chapter introduces you to XML. It explains ingeneral what XML is and how it is used.
    發(fā)表于 10-07 14:22 ?18次下載

    An Introduction to XML Applica

    An Introduction to XML Applications In this chapter we’ll be looking at some examples
    發(fā)表于 10-07 14:23 ?13次下載

    Microsoft Core XML Services (M

    MSXML 6.0 (MSXML6) 提高了可靠性、安全性、與 XML 1.0 和 XML Schema 1.0 W3C 建議的符合性以及與 System.Xml 2.0 的兼容性。 Microsoft Core
    發(fā)表于 02-12 08:38 ?9次下載

    基于XML的數(shù)據(jù)倉庫概念模型設(shè)計(jì)

    隨著XML 已經(jīng)成為半結(jié)構(gòu)化數(shù)據(jù)交換的標(biāo)準(zhǔn),以XML 作為數(shù)據(jù)源進(jìn)行數(shù)據(jù)倉庫的設(shè)計(jì)已逐漸流行。本文提出了一種基于XML 的數(shù)據(jù)倉庫概念建模設(shè)計(jì)方法,以XML Schema定義的
    發(fā)表于 12-18 17:04 ?13次下載

    MTK自帶的XML解析

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

    XML數(shù)據(jù)相似度研究

    XML 數(shù)據(jù)的大量出現(xiàn)為信息檢索數(shù)據(jù)挖掘智能信息處理提供了機(jī)遇和挑戰(zhàn)而相似度計(jì)算是XML 文檔檢索挖掘和深層次智能處理的基礎(chǔ)對相似度計(jì)算進(jìn)行研究具有非常重要的意義在對XML 數(shù)據(jù)
    發(fā)表于 06-28 15:21 ?0次下載
    <b class='flag-5'>XML</b>數(shù)據(jù)相似度研究

    基于節(jié)點(diǎn)集的XML查詢

    隨著XML應(yīng)用的日益廣泛,XML數(shù)據(jù)管理和查詢問題也引起了人們的普遍關(guān)注,并成為研究的熱點(diǎn)。盡管XML有其各種不同的表示和用途,但其本質(zhì)仍然是基于層次的數(shù)據(jù)結(jié)構(gòu),并可映射為相應(yīng)的XML
    發(fā)表于 12-20 09:35 ?0次下載
    基于節(jié)點(diǎn)集的<b class='flag-5'>XML</b>查詢

    XML基礎(chǔ)——XML必須知道的入門知識

    XML(Extensible Markup Language) 即可擴(kuò)展標(biāo)記語言。XML是Internet環(huán)境中跨平臺的、依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具
    的頭像 發(fā)表于 06-22 15:12 ?2139次閱讀
    <b class='flag-5'>XML</b>基礎(chǔ)——<b class='flag-5'>XML</b>必須知道的入門知識

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

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