PHP自学--XML编程
2014-09-18 10:57
323 查看
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 <h6><a name="t6"></a> <span style="font-weight: normal;">} */</span></h6> echo $node->nodeName.":".$node->nodeValue."<br/>"; } ?>
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/>*********************************"; ?>
第三种转载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); ?>
相关文章推荐
- PHP 自学之路-----XML编程(Dom技术)
- PHP 自学之路-----XML编程(Dom技术)
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
- PHP自学之路------PHP文件编程
- PHP自学之路--------PHP数据库编程
- PHP自学之路----面向对象的编程(类与对象)
- PHP自学之路----面向对象的编程(类成员方法用法)
- 用PHP与XML进行网站编程
- 用PHP与XML进行网站编程
- 用PHP与XML 联手进行网站编程(二)
- PHP 自学之路-----XML基本语法及DTD介绍
- php+xml编程之SimpleXML的应用实例
- [ZT]用PHP与XML联手进行网站编程
- 使用PHP与XML进行网站编程(1)
- 用PHP与XML进行网站编程
- 用PHP与XML联手进行网站编程代码实例
- [导入]XML应用-用PHP与XML联手进行网站编程
- PHP编程讲义:自学PHP第一天
- PHP 操作xml编程---词库练习