PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门_PHP教程

php中文网
发布: 2016-07-15 13:21:51
原创
1563人浏览过

   XPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点。主要目的是描述节点相对其他节点的位置,可以取得所有符合条件的节点,成为[位置路径]。

     Xapth主要用来在XML文档中查询信息的工具,通过使用路径表达式可以解析XML文件,读取XML文件中的数据
下面以案例来介绍,XML 文件如下(simplexml.xml):
[php]  
 
 
     
        sb001  
        200  
        xiaoming  
        tianlongbabu  
     
     
        sb002  
        400  
        daming  
        xiaoaojianghu  
     
 
 
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."个
";  
    for($i=0; $ilength;$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] 
  
    //装载方式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 "
";  </div>
<div>   // var_dump($lib);/*1*/  </div>
<div>    echo "
登录后复制
";  
      
    //取出书,  
    $books = $lib->book;  
    /* //取出第一本书 
    $book1=$books[0]; 
    //取出书名 
    echo $book1->title.":".$book1->author; */  
    for($i=0;$i
        $book1=$books[$i];  
        //取出属性  
        echo "属性:".$book1['house']."
";  
        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] 
echo "
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);  
  
?>  
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477134.htmlTechArticleXPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点。主要目的是描述节点相对其他节点的位置,可以取得所有符合条...
相关标签:
php
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号