php xml 四种,xml中常见的四种解析方式是什么?
xml解析方式有:1、DOM解析方法,可以對xml文檔進行修改操作;2、SAX解析方法,解析速度快,占用內存少;3、JDOM解析方法,查找方便;4、DOM4J解析方法,解析XML的速度快。
在XML的解析方式有很多,但有四種解析方式是最常用的,分別為DOM方法、SAX方法、JDOM方法、DOM4J 方法。
XML簡介
XML即可擴展的標記語言,可以定義語義標記(標簽),是元標記語言。XML不像超文本標記語言HTML,HTML只能使用規定的標記,對于XML,用戶可以定義自己需要的標記。樹狀模型。
XML文檔以層級標簽的形式來組織數據,多用于配置文件、存儲靜態數據、交換數據。
XML語法
1、每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0"?>
2、任何的起始標簽都必須有一個結束標簽。
3、標簽必須按合適的順序進行嵌套,所以結束標簽必須按鏡像順序匹配起始標簽。
4、標簽如果有屬性,屬性值必須加雙引號。
XML文件解析的四種方式
1、DOM解析方法
DOM,文檔對象模型(Document Object Model),是官方推薦的標準。DOM是html和xml文檔的編程接口規范,和平臺、語言是無關的。利用DOM規范,能夠實現DOM 文檔和xml之間的相互轉換,遍歷、操作相應DOM文檔的內容。DOM規范的核心就是樹模型,全部讀取之后再解析。
原理是:首先在內存中創建一個Document對象,然后把XML文檔讀取進來賦值給這個dom對象。由于dom對象是基于樹結構的,所以對dom對象進行遍歷即可。對內存中的dom對象可以進行查詢、修改、刪除操作,還可以寫回原XML文檔保存修改。
優點:由于整棵樹在內存中,因此可以對xml文檔隨機訪問;可以對xml文檔進行修改操作
缺點:整個文檔必須一次性解析完;由于整個文檔都需要載入內存,對于大文檔成本高
2、SAX解析方法
SAX,簡單應用程序接口(Simple Api For Xml)。非W3C官方所提供的標準,是一個程序員社區研究出來。SAX在概念上與DOM完全不同。非文檔驅動,是事件驅動的。事件驅動:一種基于回調機制的程序運行方法。由外至內一層一層解析。
優點:解析速度快,占用內存少,它需要哪些數據再加載和解析哪些內容。
缺點:它不會記錄標簽的關系,而是需要應用程序自己處理,這樣就會增加程序的負擔。
3、JDOM解析方法
JDOM是Java和DOM的結合體。JDOM 致力于建立一個完整的基于 Java 平臺的、通過 Java 代碼來訪問、操作并輸出 XML 數據。JDOM是用Java語言讀、寫、操作XML的新API函數。簡單、高效、優化。
優點:查找方便,可以修改
缺點:裝載整個文檔,對內存容量要求高
4、DOM4J解析方法。
dom4j是一個Java的XML API,類似于jdom,用來讀寫XML文件的。性能優異功能強大簡單易用開放源代碼。它是目前最流行、最好用的XML解析工具,解析XML的速度最快。
操作步驟:
1:創建SAXReader:SAXReader reader = new SAXReader();
2:創建文件輸入流打開xml文件:InputStream in = new FileInputStream("XXX.xml");
3:通過reader和輸入流讀取xml文件到內存創建Document對象:Document dom = reader.read(in);
4:獲取根節點:Element root=dom.getRootElement();
5:獲取子節點列表:List childNodes = root.elements();
6:遍歷子節點:Element node = childNodes.get(i);
7:讀取結點信息:
1)、結點屬性值:node.attributeValue("屬性名");
2)、結點名:node.getName();
3)、結點值:node.getValue();
4)、子結點文本值:node.elementText("子結點名")
相關視頻教程推薦:《XML教程》
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注php中文網相關教程欄目!!!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的php xml 四种,xml中常见的四种解析方式是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python教程长城图案,Python编
- 下一篇: 欧拉通路 java,欧拉回路