整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線:

          XML 和 HTML 比較:你應(yīng)該知道的主要區(qū)別

          現(xiàn)代網(wǎng)絡(luò)技術(shù)的世界中,XML(可擴(kuò)展標(biāo)記語(yǔ)言)和 HTML(超文本標(biāo)記語(yǔ)言) 是兩個(gè)非常重要的技術(shù)。盡管它們都使用標(biāo)簽和屬性的格式來(lái)描述數(shù)據(jù),但它們?cè)谛问胶陀猛旧嫌酗@著的區(qū)別。

          概述

          什么是 XML?

          XML,即 Extensible Markup Language(可擴(kuò)展標(biāo)記語(yǔ)言),是一種用于存儲(chǔ)和傳輸數(shù)據(jù)的文本格式。XML 的設(shè)計(jì)宗旨是強(qiáng)調(diào)數(shù)據(jù)的結(jié)構(gòu)化和準(zhǔn)確性,提供了一種公認(rèn)的標(biāo)準(zhǔn)格式。最主要的特點(diǎn)是它的自我描述性,即數(shù)據(jù)和數(shù)據(jù)的定義集成在一起,使得它在數(shù)據(jù)交換和數(shù)據(jù)存儲(chǔ)方面具有極大優(yōu)勢(shì)。

          • 什么是 XML?基礎(chǔ)入門(mén)介紹

          什么是 HTML?

          而 HTML,即 HyperText Markup Language(超文本標(biāo)記語(yǔ)言),則是一種用于創(chuàng)建網(wǎng)頁(yè)的標(biāo)準(zhǔn)標(biāo)記語(yǔ)言。HTML 的主要用途是描述網(wǎng)頁(yè)的內(nèi)容和結(jié)構(gòu),通過(guò)與 CSS(層疊樣式表)和 JavaScript(腳本語(yǔ)言)的結(jié)合,實(shí)現(xiàn)豐富和互動(dòng)的網(wǎng)絡(luò)應(yīng)用。

          區(qū)別詳解

          用途

          • XML:主要用作數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)交換的格式。通常用于各類(lèi)應(yīng)用程序之間的數(shù)據(jù)傳遞。例如,網(wǎng)絡(luò)服務(wù)(Web Services)中,SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)使用 XML 格式來(lái)封裝消息內(nèi)容。(SOAP 協(xié)議詳解:什么是 SOAP 以及它如何工作?)
          • HTML:主要用于展示數(shù)據(jù)和內(nèi)容。HTML 文檔定義了網(wǎng)頁(yè)的結(jié)構(gòu),它和瀏覽器一起使得用戶(hù)可以在互聯(lián)網(wǎng)上瀏覽各種信息和資源。

          結(jié)構(gòu)和特性

          XML:

          1. 自定義標(biāo)簽:XML 允許用戶(hù)自定義標(biāo)簽,這是它最大的特性之一。通過(guò)自定義標(biāo)簽,數(shù)據(jù)可以更加準(zhǔn)確地描述和組織。
          2. 嚴(yán)格的語(yǔ)法要求:每一個(gè)開(kāi)始標(biāo)簽都必須有一個(gè)閉合標(biāo)簽,標(biāo)簽必須正確嵌套,同時(shí)所有屬性必須用引號(hào)括起來(lái)。
          3. 數(shù)據(jù)中心:XML 集中在描述和傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)的外觀。
          <book>
              <title>Learning XML</title>
              <author>John Doe</author>
              <price>29.99</price>
          </book>
          

          HTML:

          1. 預(yù)定義標(biāo)簽:HTML 提供了很多預(yù)定義標(biāo)簽,用于構(gòu)建和格式化網(wǎng)頁(yè)內(nèi)容。不允許用戶(hù)自定義標(biāo)簽。
          2. 寬松的語(yǔ)法要求:雖然 HTML5 強(qiáng)調(diào)標(biāo)簽的閉合,但瀏覽器會(huì)容錯(cuò),對(duì)一些語(yǔ)法錯(cuò)誤進(jìn)行修正。
          3. 展示中心:HTML 的主要目的是展示數(shù)據(jù),定義網(wǎng)頁(yè)的內(nèi)容和結(jié)構(gòu),包括文本、圖片、視頻等。
          <!DOCTYPE html>
          <html>
          <head>
              <title>My Web Page</title>
          </head>
          <body>
              <h1>Welcome to My Web Page</h1>
              <p>This is an introductory paragraph.</p>
          </body>
          </html>
          

          數(shù)據(jù)驗(yàn)證

          • XML:XML 支持?jǐn)?shù)據(jù)驗(yàn)證。可以使用 DTD(文檔類(lèi)型定義)或者 XML Schema 來(lái)定義和驗(yàn)證 XML 數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容,使得數(shù)據(jù)更加精確和可靠。
          • HTML:HTML 沒(méi)有原生的數(shù)據(jù)驗(yàn)證功能,它更多關(guān)注于瀏覽器如何解釋和顯示頁(yè)面。對(duì)于用戶(hù)提交的數(shù)據(jù),可以通過(guò)表單驗(yàn)證和 JavaScript 來(lái)進(jìn)行驗(yàn)證和處理。

          可擴(kuò)展性和標(biāo)準(zhǔn)化

          • XML:XML 是完全可擴(kuò)展的。由于沒(méi)有預(yù)定義的標(biāo)簽,用戶(hù)可以根據(jù)需要?jiǎng)?chuàng)建適合自己應(yīng)用的標(biāo)簽集。這使得 XML 非常靈活,可以適應(yīng)不同的應(yīng)用和需求。
          • HTML:HTML 是沒(méi)有可擴(kuò)展性的,它的標(biāo)簽集是由 W3C(萬(wàn)維網(wǎng)聯(lián)盟)規(guī)定的標(biāo)準(zhǔn)。不允許用戶(hù)隨意添加新的標(biāo)簽,但它提供了一些擴(kuò)展機(jī)制,例如使用自定義數(shù)據(jù)屬性(data-* 屬性)。

          處理工具

          • XML:加工和處理 XML 數(shù)據(jù)的工具和接口非常多,包括 SAX(Simple API for XML)、DOM(Document Object Model)、XPath 和 XSLT 等。它們?yōu)樽x取、操作和轉(zhuǎn)換 XML 數(shù)據(jù)提供了豐富的支持。
          • HTML:HTML 的處理主要依賴(lài)于瀏覽器和各種網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),比如 JavaScript、CSS、DOM 操作等,以實(shí)現(xiàn)動(dòng)態(tài)和交互式網(wǎng)頁(yè)內(nèi)容。

          如何調(diào)試 XML、JSON 格式的請(qǐng)求

          下面使用 Apifox 來(lái)修正和測(cè)試基于 XML 的 API 請(qǐng)求。

          創(chuàng)建與測(cè)試 XML 請(qǐng)求

          假設(shè)您需要向服務(wù)器發(fā)送 XML 格式的注冊(cè)信息。您可以按照以下步驟使用 Apifox 進(jìn)行設(shè)置:

          • 請(qǐng)求類(lèi)型:POST
          • 請(qǐng)求 URL(需替換為有效地址):http://127.0.0.1:8000/register
          • 請(qǐng)求頭設(shè)置:Content-Type: application/xml
          • 請(qǐng)求體內(nèi)容如下:
          <userRegistration>
              <username>john_doe</username>
              <password>securePassword123</password>
              <email>john_doe@example.com</email>
          </userRegistration>
          
          • 響應(yīng)體示例:
          <userRegistrationResponse>
              <userId>12345</userId>
              <username>john_dane</username>
              <status>success</status>
          </userRegistrationResponse>
          

          在 Apifox 中配置您的請(qǐng)求

          打開(kāi) Apifox,選擇開(kāi)始新項(xiàng)目或者繼續(xù)現(xiàn)有項(xiàng)目。接著點(diǎn)擊“新建接口”,在接口設(shè)置頁(yè)面,選擇 POST 作為請(qǐng)求方法,并輸入正確的請(qǐng)求 URL,比如 https://api.example.com/register (這里的 URL 應(yīng)替換為真實(shí)可用的 URL)。在配置請(qǐng)求體時(shí),選擇 XML 格式,并將上述 XML 數(shù)據(jù)粘貼到配置區(qū)。

          發(fā)起請(qǐng)求并觀察結(jié)果

          配置完成后,轉(zhuǎn)到“運(yùn)行測(cè)試”頁(yè)面,點(diǎn)擊“發(fā)送”按鈕以向服務(wù)器發(fā)送構(gòu)建的請(qǐng)求。請(qǐng)求發(fā)送后,檢查響應(yīng)部分,您應(yīng)該看到類(lèi)似于提供的 XML 格式的響應(yīng)數(shù)據(jù)。

          您還可以使用響應(yīng)界面上的預(yù)覽功能,該功能能讓您以更直觀的方式查看服務(wù)器返回的數(shù)據(jù)。

          總結(jié)

          XML 和 HTML 雖然在標(biāo)簽和屬性的語(yǔ)法上有所相似,但它們?cè)谑褂脠?chǎng)景、結(jié)構(gòu)和功能上有顯著的區(qū)別。XML 強(qiáng)調(diào)數(shù)據(jù)的準(zhǔn)確傳輸和結(jié)構(gòu)化存儲(chǔ),適合用于數(shù)據(jù)的交換和持久化存儲(chǔ)等場(chǎng)景。而 HTML 強(qiáng)調(diào)內(nèi)容呈現(xiàn)和用戶(hù)交互,主要用于網(wǎng)頁(yè)設(shè)計(jì)和開(kāi)發(fā)。

          于從事IT開(kāi)發(fā)的朋友來(lái)說(shuō),數(shù)據(jù)格式是基礎(chǔ)并且是非常重要的,因?yàn)閿?shù)據(jù)總要是傳輸和顯示在頁(yè)面上的。數(shù)據(jù)格式一般來(lái)說(shuō)有三種,html、json、xml三種。那么他們之間存在什么區(qū)別呢?今天小編帶大家來(lái)深入了解下:

          html是組成萬(wàn)千web頁(yè)面的載體

          eautiful Soup 包:

          Beautiful Soup: Python 的第三方插件用來(lái)提取 xml 和 HTML 中的數(shù)據(jù)。官網(wǎng)地址 https://www.crummy.com/software/BeautifulSoup/

          1、安裝 Beautiful Soup

          打開(kāi) cmd(命令提示符),進(jìn)入到 Python(Python2.7版本)安裝目錄中的 scripts 下,輸入 dir 查看是否有 pip.exe, 如果用就可以使用 Python 自帶的 pip 命令進(jìn)行安裝,輸入以下命令進(jìn)行安裝即可:

          pip install beautifulsoup4

          2、測(cè)試是否安裝成功

          編寫(xiě)一個(gè) Python 文件,輸入:

          import bs4

          print bs4

          運(yùn)行該文件,如果能夠正常輸出則安裝成功。

          五、使用 Beautiful Soup 解析 html 文件

          # -*- coding: UTF-8 -*-
          import bs4
          import re
          
          from bs4 import BeautifulSoup
          
          html_doc = """
          <html><head><title>The Dormouse's story</title></head>
          <body>
          <p class="title"><b>The Dormouse's story</b></p>
          <p class="story">Once upon a time there were three little sisters; and their names were
          <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
          <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
          <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
          and they lived at the bottom of a well.</p>
          <p class="story">...</p>
          """
          # 創(chuàng)建一個(gè)BeautifulSoup解析對(duì)象
          soup = BeautifulSoup(html_doc, "html.parser", from_encoding="utf-8")
          # 獲取所有的鏈接
          links = soup.find_all('a')
          print("所有的鏈接")
          
          for link in links:
              print(link.name, link['href'], link.get_text())
          
          print("獲取特定的URL地址")
          link_node = soup.find('a', href="http://example.com/elsie")
          print(link_node.name, link_node['href'], link_node['class'], link_node.get_text())
          
          print("正則表達(dá)式匹配")
          
          link_node = soup.find('a', href=re.compile(r"ti"))
          print(link_node.name, link_node['href'], link_node['class'], link_node.get_text())
          
          print("獲取P段落的文字")
          
          p_node = soup.find('p', class_='story')
          print(p_node.name, p_node['class'], p_node.get_text())
          

          ===========

          輸出:


          主站蜘蛛池模板: 91国偷自产一区二区三区| 亚洲av无码一区二区三区网站 | 97se色综合一区二区二区| 国产乱码精品一区二区三区香蕉 | 在线观看亚洲一区二区| 日本一区二区在线不卡| 51视频国产精品一区二区| 精品一区二区三区免费观看| 国产精品一级香蕉一区| 中文日韩字幕一区在线观看| 精品亚洲福利一区二区| 国产精品一区二区不卡| 久久精品国产一区二区三 | 久久精品无码一区二区三区免费 | 女人和拘做受全程看视频日本综合a一区二区视频 | 一区二区视频传媒有限公司| 乱色熟女综合一区二区三区| 国产精品无码一区二区在线观 | 无码精品一区二区三区免费视频 | 亚洲熟妇成人精品一区| 精品无码av一区二区三区| 日本强伦姧人妻一区二区| 无码一区二区三区中文字幕| 97se色综合一区二区二区| 中文字幕一区二区三区精彩视频| 人妻无码一区二区不卡无码av| 中文字幕日本一区| 国精产品一区一区三区免费视频| 亚洲片国产一区一级在线观看| 精品无码一区二区三区水蜜桃| 日本无卡码免费一区二区三区| 在线成人综合色一区| 玩弄放荡人妻一区二区三区| 偷拍激情视频一区二区三区| 亚洲一区二区电影| 日本片免费观看一区二区| 97久久精品无码一区二区| 亚洲国产欧美日韩精品一区二区三区| 精品福利视频一区二区三区| 51视频国产精品一区二区| 另类国产精品一区二区|