整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          202.C# 認識XML

          202.C# 認識XML


          • XML 指可擴展標記語言(EXtensible Markup Language)。
          • XML 是一種很像HTML的標記語言。
          • XML 的設計宗旨是傳輸數據,而不是顯示數據。
          • XML 標簽沒有被預定義。您需要自行定義標簽。
          • XML 被設計為具有自我描述性。
          • XML 是 W3C 的推薦標準。

          正文


          XML和HTML的區別

          XML 不是 HTML 的替代。XML 和 HTML 為不同的目的而設計:HTML 旨在顯示信息,而 XML 旨在傳輸信息。

          • XML 被設計用來傳輸和存儲數據,其焦點是數據的內容。
          • HTML 被設計用來顯示數據,其焦點是數據的外觀。

          XML的特點

          • XML 不會做任何事情
          • XML 被設計用來結構化、存儲以及傳輸信息。
          • 通過 XML 可以發明自己的標簽
          • XML 語言沒有預定義的標簽。HTML 中使用的標簽都是預定義的。HTML 文檔只能使用在 HTML 標準中定義過的標簽(如 <p>、<h1> 等等)。XML 允許創作者定義自己的標簽和自己的文檔結構。
          • XML 無所不在
          • XML 語言沒有預定義的標簽。HTML 中使用的標簽都是預定義的。HTML 文檔只能使用在 HTML 標準中定義過的標簽(如 <p>、<h1> 等等)。XML 允許創作者定義自己的標簽和自己的文檔結構。

          XML用途

          1、XML 把數據從 HTML 分離

          如果您需要在 HTML 文檔中顯示動態數據,那么每當數據改變時將花費大量的時間來編輯 HTML。通過 XML,數據能夠存儲在獨立的 XML 文件中。這樣您就可以專注于使用 HTML/CSS 進行顯示和布局,并確保修改底層數據不再需要對 HTML 進行任何的改變。通過使用幾行 JavaScript 代碼,您就可以讀取一個外部 XML 文件,并更新您的網頁的數據內容。

          2、XML 簡化數據共享

          在真實的世界中,計算機系統和數據使用不兼容的格式來存儲數據。XML 數據以純文本格式進行存儲,因此提供了一種獨立于軟件和硬件的數據存儲方法。這讓創建不同應用程序可以共享的數據變得更加容易。

          3、XML 簡化數據傳輸

          對開發人員來說,其中一項最費時的挑戰一直是在互聯網上的不兼容系統之間交換數據。由于可以通過各種不兼容的應用程序來讀取數據,以 XML 交換數據降低了這種復雜性。

          4、XML 簡化平臺變更

          升級到新的系統(硬件或軟件平臺),總是非常費時的。必須轉換大量的數據,不兼容的數據經常會丟失。XML 數據以文本格式存儲。這使得 XML 在不損失數據的情況下,更容易擴展或升級到新的操作系統、新的應用程序或新的瀏覽器。

          5、XML 使您的數據更有用

          不同的應用程序都能夠訪問您的數據,不僅僅在 HTML 頁中,也可以從 XML 數據源中進行訪問。通過 XML,您的數據可供各種閱讀設備使用(掌上計算機、語音設備、新聞閱讀器等),還可以供盲人或其他殘障人士使用。

          6、XML 用于創建新的互聯網語言

          很多新的互聯網語言是通過 XML 創建的。這里有一些實例:

          XHTML

          用于描述可用的 Web 服務 的 WSDL

          作為手持設備的標記語言的 WAP 和 WML

          用于新聞 feed 的 RSS 語言

          描述資本和本體的 RDF 和 OWL

          用于描述針針對 Web 的多媒體 的 SMIL

          <email>
              <to>xxx@163.com</to>
              <from>admin@admin.com</form>
              <title>測試郵件</title>
              <body>*******</body>
          </email>
          

          再看一個

          1.xml 指可擴展標記語言(EXtensible Markup Language)

          2.xml 是一種標記語言,類似html

          3.xml 的設計宗旨是傳輸數據,而非顯示數據

          4.xml 標簽沒有被預定義。需要自行定義標簽

          XML與HTML區別

          1.xml 不是 html 的替代。

          2.xml 和 html 為不同的目的而設計:

          3.xml 被設計為傳輸和存儲數據,其焦點是數據的內容。

          4.html 被設計用來顯示數據,其焦點是數據的外觀。

          5.html 旨在顯示信息,而 xml 旨在傳輸信息。

          第三方庫

          XML第三方解析庫,選用TinyXML,TinyXML也是一個開源的解析XML解析庫,使用簡單正如其名,用于C++開發,支持Windows和Linux。TinyXML通過DOM模型遍歷和分析XML。



          SON(JavaScript Object Notation)和XML(eXtensible Markup Language)是在日常開發中比較常用的兩種數據格式,它們主要的作用就是用來進行數據的傳輸以及數據的存儲。但是兩種數據結構都各自有各自的優缺點,以及適用的場景,下面我們就來詳細的比較一下兩種數據格式有什么區別和聯系。

          語法結構

          JSON

          從語法結構的角度上來講JSON數據格式是基于了JavaScript對象的方式進行表示,語法相對來說比較直觀,也很容易理解,通過鍵值對的結構進行數據的存儲,并且支持數組以及嵌套對象的存儲。如下所示。

          {
            "name": "John",
            "age": 30,
            "cities": ["New York", "Los Angeles"]
          }

          XML

          XML數據格式則是基于標簽結構進行的封裝操作,有點類似于HTML,數據是被包裹在一個標簽對中間,這個標簽對包括了開始標簽以及結束標簽,并且XML支持標簽屬性以及標簽元素的嵌套操作,如下所示。

          <person>
            <name>John</name>
            <age>30</age>
            <cities>
              <city>New York</city>
              <city>Los Angeles</city>
            </cities>
          </person>

          可讀性

          從上面的示例代碼中,我們可以看出JSON數據格式的數據語法相對來說比較簡單易讀,并且因為結構相對來說比較簡單,所以說維護起來也相對容易一些,通過鍵值對的方式進行存儲,更加便于用戶理解其含義。

          而相比較而言XML格式則由于標簽結構的復雜,所以可讀性比JSON來講相對較低不利于理解,并且尤其在一些比較復雜的XML結構中這種情況更加的明顯,由于標簽冗余過長,導致整個的XML數據格式的繁瑣操作起來比較麻煩,而且在XML中必須要遵守嚴格的語法要求,如果語法格式錯誤將會導致整個的數據不能使用。

          數據類型支持

          JSON數據格式中可以支持基本的數據類型,例如字符串、數字、布爾值、數組以及對象操作,但是不支持自定義的數據類型,這些基本的數據類型已經可以表示大部分的數據了,所以自定義的數據類型表示在JSON數據中基本上沒有太大的意義。

          而在XML中是通過標簽的方式來進行數據結構的封裝,所以它可以自定義封裝一些復雜的數據結構,并且這些自定義的標簽數據類型都很靈活,可以表示比較復雜的數據結構。相比較JSON的簡單的數據結構來講,XML可能通過自定的方式可以支持很多的數據類型。

          數據解析

          上面也提到了JSON數據結構是支持原生的JavaScript操作的,所以對于JSON數據的解析來講相對來說比較方便,并且在很多的編程語言中都支持了對于JSON數據的解析庫,例如在Python提到的json模塊,在Java中的FastJSON,GSON等。

          而XML由于結構相對來說比較復雜,所以必須要用專門的解析器來進行操作,例如DOM、SAX等,并且由于結構的復雜性,所以說解析數據的速度也會相對較慢,當處理一些大型的XML文件的時候這種情況非常明顯,在很多編程語言中都提供對于XML文件的解析,但是整體的使用效果要比JSON解析要復雜的多。

          使用場景

          JSON

          對于JSON數據格式來講,它比較適合于Web應用程序的數據交換,比較常見的就是前后端分離項目的數據交換實現,并且在很多的分布式配置中也會使用JSON數據格式來進行配置文件的傳輸,在一些遠程調用的過程中,JSON數據格式作為一種簡單的數據傳輸給,也被用來進行遠程調用TCP數據傳輸。

          當然除了上面提到的這些場景之外,在很多輕量級應用場景中也是使用JSON進行數據交換操作。

          XML

          XML數據結構適用于一些比較復雜的數據交換場景,例如在SOAP協議中,通常情況下在Ant、Maven等工具中XML文件格式也備用來充當配置文件,在需要高度擴展性和自定義標簽數據的場景中XML數據格式也是比較適用的,例如在MyBatis框架中對于SQL語句的映射。

          擴展性

          對于JSON數據格式來講,它的擴展性是有限的,由于不支持自定義的標簽操作,而且數據結構也相對來說比較固定,所以經常被用來做數據交換使用。

          而對于XML數據格式來講,它支持自定義的標簽以及名稱空間操作,擴展性要比JSON要強,所以經常被用來進行一些數據模型的擴展操作。

          總結

          JSON與XML數據格式,各自有各自的優勢,而在實際使用場景中,選擇使用那種數據格式,主要就是取決于具體的使用場景,如果將就高效并且數據傳輸相對簡單的場景中我們可以使用JSON數據格式,如果要進行一些復雜數據的處理,并且在一些跨平臺的應用數據交換的過程中,建議使用XML格式的數據。


          主站蜘蛛池模板: 国产精品电影一区| 亚洲午夜日韩高清一区| 91精品福利一区二区| 91精品福利一区二区| 蜜臀AV在线播放一区二区三区| 射精专区一区二区朝鲜| 亚洲乱码av中文一区二区| 精品午夜福利无人区乱码一区| 国产福利一区二区三区在线视频| 91国偷自产一区二区三区| 精品一区二区三区视频在线观看| 久久国产精品免费一区| 久久精品视频一区二区三区| 精品少妇ay一区二区三区| 国内精品视频一区二区三区 | 免费精品一区二区三区在线观看| 国产一区二区在线观看视频| 91久久精一区二区三区大全| 老熟妇仑乱一区二区视頻| 日本一道一区二区免费看| 国产在线视频一区二区三区98| 国产美女一区二区三区| 无码人妻一区二区三区免费视频 | 精品视频在线观看你懂的一区| 高清国产AV一区二区三区| 亚洲日韩一区二区一无码| 国产一区二区高清在线播放| 亚洲一区二区三区乱码在线欧洲| 亚洲av成人一区二区三区在线观看 | 国产在线不卡一区二区三区| 亚洲高清一区二区三区| 色狠狠色噜噜Av天堂一区| 无码人妻精一区二区三区| 色婷婷AV一区二区三区浪潮| 国产裸体舞一区二区三区| 蜜桃臀无码内射一区二区三区| 人成精品视频三区二区一区| 中文字幕日韩一区二区不卡 | 国产一区精品视频| 久久久老熟女一区二区三区| 国产乱码伦精品一区二区三区麻豆|