php操做dom,simplexml、xpath對xml的讀取,以及xml做爲數據傳輸接口的使用的認識

php操做xml文檔取數據【php對xml的解析】php

1.php操做DOM【Document Object Model】 每個文檔從根節點開始構成一個樹狀模型【DOM】html

DOM文檔類: DOMDocument:文檔類 DOMNodeList:節點列表類 DOMNode:節點類 DOMElement:元素類ajax

這四個類就能夠針對DOM文檔進行操做sql

2.操做DOM對象瀏覽器

(1)建立DOM對象: $dom = new Document();//對對象的版本,編碼進行限制 (2)加載xml文件 $dom->load();//加載指定的xml文件 (3)對節點上的數據進行選取【也能夠進行操做】 【操做節點相對而言,比直接進行讀取要難。對節點的操做就是將節點之間創建關係進行操做】 【http://www.jb51.net/article/21472.htm】服務器

這裏php操做節點的行爲和js操做html節點實現頁面結構的更改相似【實質上使由於document文檔的節點自己的緣由,致使了操做該文檔的語法大體相同】 【對節點的增刪改查的操做須要注意】dom

兩個php經常使用的函數庫 PHP DOM:對document的操做【增刪改操做】 SimpleXML:查詢操做函數

3.SimpleXML:遍歷文檔的速度很是快【調接口經常使用】編碼

(1)讀取數據: SimpleElement simplexml_load_file()【從一個xml文件中讀取數據】返回的不是php內部的數據類型,而是一個【simplexml的】實例【也不是對象和資源】 SimpleElement::__construct()【從一個xml字符串中讀取數據】.net

(2)載入數據以後,對數據進行處理 全部的simplexml庫中對數據節點的讀取方法

【本身寫數據接口:將xml格式的數據輸出到客戶端就是接口】 生成xml信息【兩種,拼接字符串和生成接口文件(使用header將文件類型規定)】 對節點進行添加【或者加屬性】來生成接口

 

4.xpath 【http://www.w3school.com.cn/xpath/】 xpath是一種在xml文檔中查找屬性和元素的方法。【仍是須要載入相應文件】 xpath語法相似:在一個文件系統中定位文件【相似於使用路徑的定位來獲取文件】 xpath使用的語法:【單斜線和雙斜線的區別】 /student:返回student元素的信息 //student:返回該元素中全部知足雙斜線以後的規則的層級關係【至關於一種規則定義】

例子: $xml=simplexml_load_file('demo05.xml');

返回全部人的姓名 $data=$xml->xpath('/persons/person/name');//至關於將name元素匹配以後,置於data內 foreach ($data as $value){  echo $value.'<br>'; }

以上就是一個簡單的xpath語法

使用複雜的xpath語法進行接口內的查詢自己也沒有太多的必要【不過須要注意這方面的匹配】

 

 

5.在線詞典 就是ctrl+f對瀏覽器的功能 本地輸入是一個表單,而後對服務器一次請求,服務器返回一組相應的數據【xml格式的結果】顯示在搜索結果位置便可。 【一次ajax,一次結果數據的拼接過程】 便可完成

【接口的思路】 其實這裏就是一個用做多個平臺共有的數據操做的思路【也就是接口】,經過數據查詢出的結果拼接成一個接口文件【分頁】,而後各個平臺根據接口文件進行鍼對性顯示【雖然效率低,可是數據的處理和重複使用上,不錯】

單引號和雙引號: 關鍵是雙引號內嵌入單引號的問題: 【在sql語句和xpath中使用】 雙引號內的變量能夠正常解析,可是因爲sql語句和xpath中指明字段須要單引號【字符串類型】,因此那裏加單引號。 $sql = "select * from '$table' where...";//這樣的語法,即便變量外有單引號,也不影響變量的解析

 

以上就是關於xml操做的內容【注意接口的認知和simplexml庫和xpath、PHP DOM來操做document節點的效果】

相關文章
相關標籤/搜索