在我們的日常的web開發工作中,除了**以外想必接觸最多的就是xml文擋了,隨著大量框架的不斷的湧現,我們
工作的重點已由原來的對**的開發逐步轉向了對xml文件的配置和解讀。那麼究竟是什麼是xml呢?它有那些語法的規則
呢?我們在日常工作使用中應該又該注意什麼呢?本文將從一些日常的鮮為人知的方面介紹並解讀xml技術的一些知識,
以便幫助大家能夠更加深入的理解xml的用法。
我們的實際開發工作中對配置檔案的熟悉度相信已經很高了,在傳統的配置檔案格式應用上一般分為兩種型別
一是properites格式的檔案(比如在hibernate等框架的早期版本中就應用了這種格式的檔案作為框架的配置檔案)
另外一種就是現在十分通用的xml例項文件。我們應用配置檔案最大的好處是提高了程式的靈活性,把程式的一些
相關資訊放置在配置檔案可以避免硬編碼帶來的一系列不便,而xml技術的產生正是為了更好的適應這種需求。曾經
有人問我,xml到底是一門語言還是一種規範。筆者對於這個問題的理解是,xml是一種在特定的技術約束下產生的一種
文件語言。它的主要任務是為了完成程式之間的資料交換。簡單的說,xml作為一種通用的資料交換格式出現的。
在程式的開發過程中少不了程式之間資料交換,這種需求在電子商務佔據主導資訊化世界的今天變的尤其重要
所以必須對各個程式中間用於交換的資料文件做乙個統一的規範。而xml首先就定義了這樣的一套規範,它用嚴格的
語法限制使得各個平台上執行的程式對不同的xml文件進行有效的解讀成為可能。所以我們把xml成為一種文件規範一點
也不過分,其次,xml標準的體現是由語言來完成的,因此我們也可以把xml看作是一門標記性的語言。
xml是sgml的乙個子集,正是在這樣的前提下xml擁有級強的生命力和擴充套件性,使得它可以表達出世界上多種多樣的
資訊。而xml最重要的乙個作用就是用於承載資料,以便資料的交換。
對於標記語言也許大家最熟悉不過的就是html了,誠然html中確實承載了不少的資料,但是我們決不能認為html和xml
是一種功能相同的語言。首先html是乙個定型的語言,它用固有的標記來顯示,描述內容。而xml不能用來顯示內容,它只是
描述資料的結構和內容,而且xml沒有定型的標籤,它的標籤可以由開發者自由的擴充套件,並且允許標記名是非英文本元。其次,
html把資料的顯示和承載混合在一起,而它本身的作用就是用於如何顯示它所承載的資料。而xml把資料的顯示和內容加以分離
在xml中只負載承載資料,並描述資料的結構,對於資料的顯示xml本身並不控制,但可以我們可以通過css和xsl的其他語言對
xml的顯示加以控制。再次,html語言的格式比較鬆散,各個html的解析器採用盡量解釋的原則,所以這給我們的日常維護工作
帶來不便,並且很有可能同乙個html語言書寫的文件在不同的瀏覽器下顯示出不同的風格。而xml規定任何xml文件必須擁有開始
標記和結束標記這樣嚴格的語法限制,使得我們的工作更加方便。並且xml還規定了各個標記元素的形式,比如大小寫的區分問題。
最後xml語言允許粒度更新,這一點更是html所沒有的特性。
既然html和xml都是一種標記語言,並且它們都**於sgml語言,那麼他們或多或少的都有一些相似的地方。這種相似性
主要體現在樹型結構上,也就是說xml和html都是dom模型。xml規定每個xml文件必須有乙個根節點,並且每乙個元素之間都是有
聯絡的,雖然在html中我們可以不設定根節點,但我們同樣可以把它看作是乙個樹型結構的體現。
我們知道了xml的主要作用是用來承載資料的,那麼我們日常中接觸最多的資料庫同樣也是用來儲存資料的,那麼兩者之間有
什麼關係呢?這是乙個很深的問題,其中涉及到資料庫表與xml文件之間的轉化工作,雖然現在有很多的人正在從事這方面的研究
但是它不屬於本文的重點講解問題,因此我們可以簡單的把乙個xml文件當作是資料庫的一張表來看待即可。並且這種應用也比較
Fabric架構淺讀
解耦交易處理節點的邏輯角色為背書節點 endorser 確認節點 committer 可以根據負載進行靈活部署 加強了身份證書管理服務,作為單獨的fabric ca專案,提供更多功能 支援多通道特性,不同通道之間的資料彼此隔離,提高隔離安全性 支援可拔插的架構,包括共識 許可權管理 加解密 賬本機制...
上傳附件 讀xml
public static string getairlinebycode string aircom else 如果查不到該航空公司則將字串取前兩位再次匹配 var listquarylit from item in arrways where item.code strlit select it...
淺讀php核心配置
php配置檔案指令很多,這裡就對一些會影響php指令碼安全的核心配置進行簡要學習與記錄。狀態為on時,會將使用者提交的引數註冊成為全域性變數並初始化值為引數對應的值。php版本小於4.2.3時設定為php ini all。在php 5.4.0移除了該選項。設定為on且php版本小於5.4.0時,測試...