### 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基础入门