XPath:
XMl Path:xml 的路径,用来定位(找到)XML元素(节点)的一种语言。
因此先定义一种规则,按规则查找
三种解析方式:
DOM:在内存中声称节点树,通过节点之间的关系来定位
SAX:从开始标签,依次查找,适合读取数据
SimpleXML:将元素转化成对象,相同的对象转化成对象的集合,节点之间没有关系
XPath 的定位是通过DOMXPath对象来实现的
//实例化DOMDocument对象
$doc = new DOMDocument('1.0','utf-8');
//加载XML文件
$doc ->load('bookshelf.xml');
//实例化DOMXPath对象
$DOMXPath = new DOMXPath($doc);
//制定查找规则
$re ="//book";
//通过DOMXPath对象的query()方法查找元素
$books =$DOMXPath ->query($re);//查找到的是nodeList对象
//具体确定到某一个元素
$ec =$books ->item(1) ->nodeValue;
var_dump($ec);
//通过元素之间的关系(位置)
$rule = "/bookshelf/book/title";
//按照集合中的索引,注意索引值是从1开始的
$rule=”/bookshelf/book[2]”
//利用子元素的值查找
$rule =”/bookshelf/book[titlt=’天龙八部’]”
//获得元素的属性
$rule=”/bookshelf/book/@id”
DTD验证:
格式良好的:符合XML语法规则的就是良好的
合法的:经过验证,并且验证通过
全名:Document Type Definition 文档类型定义
1. 先将DTD验证规则和XML文件关联起来
<!DOCTYPE 根元素 SYSTEM “dtd文件名”>
2. 什么时候验证
Php加载XML文件的时候验证
alidateOnParse(‘XML文件’)
3,定义DTD的规则:
应该有那些元素
元素的位置如何
元素的属性