当前位置:Gxlcms >
PHP教程 >
PHP自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门_PHP教程
PHP自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门_PHP教程
时间:2021-07-01 10:21:17
帮助过:3人阅读
XPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点。主要目的是描述节点相对其他节点的位置,可以取得所有符合条件的节点,成为[位置路径]。
Xapth主要用来在XML文档中查询信息的工具,通过使用路径表达式可以解析XML文件,读取XML文件中的数据
下面以案例来介绍,XML 文件如下(simplexml.xml):
[php]
sb001
200
xiaoming
tianlongbabu
sb002
400
daming
xiaoaojianghu
PHP 代码如下:
[php]
load("simplexml.xml");
//3 转成DomXPath对象
$xpath = new DOMXPath($dom);
//4 查找工作
$node_list = $xpath->query("/books/book/title");
echo "一共有".$node_list->length."个
";
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."
";
}
?>
输入如下:
一共有2个
title:tianlongbabu
title:xiaoaojianghu
想更深入得了解XPath的使用,
simpleXml
simpleXMl的核心思想:以面向对象的方法来操作Xml文件。simpleXml是比较简单的方式,通常会和XPath配合使用,
[php]
load("simplexml.xml");
$lib = simplexml_import_dom($dom);
echo "
";
// var_dump($lib);/*1*/
echo "
";
//取出书,
$books = $lib->book;
/* //取出第一本书
$book1=$books[0];
//取出书名
echo $book1->title.":".$book1->author; */
for($i=0;$i
";
echo "第".$i."本书的 书名||作者
";
echo $book1->title."||".$book1->author."
";
}
echo "***simplexml 和xpath结合使用***
";
echo "取出所有的书名:
";
$titles = $lib->xpath("//title");
foreach ($titles as $key=>$val){
echo "
".$key."||".$val;
}
echo "
*********************************";
?>
输出如下:
[php]
属性:qinghuachubanshe
第0本书的 书名||作者
tianlongbabu||xiaoming
属性:beidachubanshe
第1本书的 书名||作者
xiaoaojianghu||daming
***simplexml 和xpath结合使用***
取出所有的书名:
0||tianlongbabu
1||xiaoaojianghu
*********************************
第三种转载Xml方式,字符串方式,如下:
[php]
simplexml也可以直接装载一个string字符串(Xml规范)";
$string = <<
Forty What?
Joe
Jane
I know that's the answer -- but what's the question?
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?>
http://www.bkjia.com/PHPjc/477134.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477134.htmlTechArticleXPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点。主要目的是描述节点相对其他节点的位置,可以取得所有符合条...