### XPAth技術
XPath的設計的核心思想,可以通過xpath迅速簡介的定位到你希望查找的節點。主要目的是描述節點相對其他節點的位置,可以取得所有符合條件的節點,成為[位置路徑]。
Xapth主要用來在XML文檔中查詢信息的工具,通過使用路徑表達式可以解析XML文件,讀取XML文件中的數據
### 下面以案例來介紹,XML 文件如下(simplexml.xml):
~~~
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book house="qinghuachubanshe">
<code>sb001</code>
<price>200</price>
<author>xiaoming</author>
<title>tianlongbabu</title>
</book>
<book house="beidachubanshe">
<code>sb002</code>
<price>400</price>
<author>daming</author>
<title>xiaoaojianghu</title>
</book>
</books>
~~~
### PHP 代碼如下:
~~~
<?php
//1 創建DOMDocument對象
$dom = new DOMDocument("1.0", "UTF-8");
//2 加載Xml文件
$dom->load("simplexml.xml");
//3 轉成DomXPath對象
$xpath = new DOMXPath($dom);
//4 查找工作
$node_list = $xpath->query("/books/book/title");
echo "一共有".$node_list->length."個<br/>";
for($i=0; $i<$node_list->length;$i++){
$node = $node_list->item($i);
// var_dump($node_list);
/*foreach ($node as $key=>$val){
echo
} */ echo $node->nodeName.":".$node->nodeValue."<br/>";
}
?>
~~~
### 輸入如下:
一共有2個
title:tianlongbabu
title:xiaoaojianghu
想更深入得了解XPath的使用,請參考XPath文檔:[http://download.csdn.net/detail/jsh13417/6042671](http://download.csdn.net/detail/jsh13417/6042671)
# simpleXml
? ? simpleXMl的核心思想:以面向對象的方法來操作Xml文件。simpleXml是比較簡單的方式,通常會和XPath配合使用,
~~~
<?php
//裝載方式1 ‘裝載一個Xml文件
// $lib = simplexml_load_file("simplexml.xml");
//2 DOM 對象裝載方式
//1 創建DOMDocument對象
$dom = new DOMDocument("1.0", "UTF-8");
//2 加載Xml文件
$dom->load("simplexml.xml");
$lib = simplexml_import_dom($dom);
echo "<pre>";
// var_dump($lib);/*1*/
echo "</pre>";
//取出書,
$books = $lib->book;
/* //取出第一本書
$book1=$books[0];
//取出書名
echo $book1->title.":".$book1->author; */
for($i=0;$i<count($books);$i++){
$book1=$books[$i];
//取出屬性
echo "屬性:".$book1['house']."<br/>";
echo "第".$i."本書的 書名||作者<br/>";
echo $book1->title."||".$book1->author."<br/>";
}
echo "***simplexml 和xpath結合使用***<br/>";
echo "取出所有的書名:<br/>";
$titles = $lib->xpath("//title");
foreach ($titles as $key=>$val){
echo "<br/>".$key."||".$val;
}
echo "<br/>*****************";
?>
~~~
輸出如下:
~~~
屬性:qinghuachubanshe
第0本書的 書名||作者
tianlongbabu||xiaoming
屬性:beidachubanshe
第1本書的 書名||作者
xiaoaojianghu||daming
***simplexml 和xpath結合使用***
取出所有的書名:
0||tianlongbabu
1||xiaoaojianghu
*****************
~~~
###第三種轉載Xml方式,字符串方式,如下:
~~~
<?php
echo "<br/>simplexml也可以直接裝載一個string字符串(Xml規范)";
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</document>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?>
~~~
以上便是對 2個Xml技術的簡單入門介紹,想更深入的了解就需要看文檔了。
參考資料:
[http://cn2.php.net/manual/en/function.simplexml-load-string.php](http://cn2.php.net/manual/en/function.simplexml-load-string.php)
- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP開發環境配置說明
- PHP基礎數據類型及運算符介紹
- 走進PHP函數
- 走進位運算
- 走進數組及相關數組函數
- 面向對象的編程(類與對象)
- 面向對象的編程(類成員方法用法)
- 構造方法,析構方法
- static,global用法
- 靜態方法
- 面向對象的編程方法
- 接口方法
- 接口VS繼承、final、const
- 錯誤及異常處理機制、錯誤日志
- HTTP協議深度剖析
- 文件下載
- PHP數據庫編程
- 數據庫編程(2)
- 超全局變量
- Zend studio 開發環境入門
- 雇員管理系統(1)
- 雇員管理系統(2)
- 會話技術(cookie session)
- 會話技術 session場景使用介紹!
- PHP.in中session和cookie的配置說明
- PHP文件編程
- 報表及繪圖技術
- 報表及繪圖技術(jpgraph庫使用,Linux安裝及配置說明)
- XML基本語法及DTD介紹
- XML編程(Dom技術)
- XML編程(Xpath技術,simpleXml技術)基礎入門
- 網上支付平臺PHP版本
- javascript基礎入門