PHP读取XML文件的方法实例总结_php技巧_脚本之家,PHP操作XML中XPath的应用示例_php技巧_脚本之家

正文实例叙述了PHP操作XML中XPath的行使。分享给大家供我们参照他事他说加以考查,具体如下:

正文实例汇报了PHP读取XML文件的章程。分享给大家供大家参谋,具体如下:

本文实例叙述了PHP使用DOM对XML分析管理操作。分享给大家供我们仿效,具体如下:

XPath即为XML路线语言,它是生龙活虎种用来规定XML文书档案中某部分岗位的言语。XPath基于XML的树状结构,提供在数据结构树中寻觅节点的本领。发轫XPath
的提出的初志是将其看成四个通用的、介于XPointer与XSLT间的语法模型。然而XPath 不慢的被开荒者接纳来作为小型查询语言。

应用DOMDocument对象读取xml

DOM(Document Object Model卡塔尔国:文档对象模型。大旨情想是:把
xml文件作为是三个对象模型,然后通过对象的方法来操作 xml 文件。

XPath设计的核心理想:飞快定位到您所急需的成分。PHP
文件在载入xml文件和创立DOMDocument 对象后,就足以初步成立DOMXPath 对象。

创办三个DOMDocument对象

xml本身有为数不菲节点: 元秋天点 文本节点 属性节点 注释节点 CDATA节点
文书档案节点

$xpath = new DOMXPath;
$doc = new DOMDocument();

$doc->load;

$books = $doc->getElementsByTagName;

$titles = $book->getElementsByTagName;

$title = $titles->item->nodeValue;

php对xml文书档案进行增加和删除改查操作,具体深入分析如下:

树立 DOMXPath 对象后,就可以初阶选用
DOMXPath::query()办法,找到您要求的要素:

实例1,获取图书列表

xml文档:class.xml

$item = $xpath->query;//返回值为DOMNodList对象
  PHP和MySQL开发 谭浩强   xml从入门到精通 郑智化 

load; //打开book.xml$books = $doc->getElementsByTagName; //获取book标签对象foreach { //遍历对象 $titles = $book->getElementsByTagName; //获取book标签下的title标签 $title = $titles->item->nodeValue; //获取标签的值 $authors = $book->getElementsByTagName;//获取book标签下的author标签 $author = $authors->item->nodeValue; //获取标签的值 $item["title"] = $title; $item["author"] = $author; $bookinfo[] = $item;}var_dump;
  小乔 女 20   周瑜 男 25 

实例:

实例2,读取配置文件

php文件

xml文档:words.xml

 127.0.0.1 root  test

load; //打开config.xml$mysql = $doc->getElementsByTagName; //获取mysql标签对象$host = $mysql->item->getElementsByTagName;$config["host"] = $host->item->nodeValue;$username = $mysql->item->getElementsByTagName;$config["username"] = $username->item->nodeValue;$password = $mysql->item->getElementsByTagName;$config["password"] = $password->item->nodeValue;$database = $mysql->item->getElementsByTagName;$config["database"] = $database->item->nodeValue;var_dump;
load;//3、目标:获取第一个学生的名字//3.1 第一步,读取所有的学生/*方法getElementsByTagName:根据所给的节点名字查找 相应的节点,返回 DOMNodeList类型的对象,相当于取出了所有的学生。可以用var_dump查看,并根据返回值查找手册,看其下面的属性与方法。*/$students = $xmldoc->getElementsByTagName;echo "共有 ".$students->length."个学生
";//3.2 读取第一个学生/*读取到第一个学生。返回值为DOMElement对象。直接 echo $stu1->nodeValue;则把name,sex,age都输出。*/$stu1 = $students->item;//3.3 取出第一个学生的名字$stu1_name = $stu1->getElementsByTagName;//3.4 读取到名字echo $stu1_name->item->nodeValue;?>
 boy 男孩 girl 女孩 teacher 老师 beauty 美女

选取simplexml方法读取xml

注意点:

XPath应用:index.php

实例1,获取图书列表

此处只是根基演示,相比费力,前面用到循环和函数来操作;
,查看变量的再次回到值是什么,再依据重临值到手册中寻找该重返值下的属性与艺术。
整个顺序下来,getElementByTagName()并无需生龙活虎层风度翩翩层的读,事实上能够一向读取到节点name的,而无需先读取student(当然,假如同三个student下,有多少个name,就能够出问题了,这里就须要上学新的知识点xpath卡塔尔国。

load;//使用xpath查询$xpath = new DOMXPath;//创建DOMXPath对象$node_list = $xpath->query;//查询ch这个元素,返回值为DOMNodeList对象echo $node_list->item->nodeValue;?>
title; $item["author"] = $book->author; $booklist[] = $item;}var_dump;

从而地点那代码能够差不离改为:

PS:这里再为大家提供五款有关xml操作的在线工具供大家参谋运用:

实例2,读取配置文件

load;//3、目标:获取第一个学生的名字$stu = $xmldoc->getElementsByTagName;//直接找到节点name$stu1 = $stu->item时,可以取到周瑜echo $stu1->nodeValue;?>

在线XML/JSON相互转变工具:

host;$config['username'] = $mysql->username;$config['password'] = $mysql->password;$config['databse'] = $mysql->database;var_dump;

创设xml的种种节点

在线格式化XML/在线压缩XML:

PS:这里再为大家提供三款有关xml操作的在线工具供我们参谋运用:

节点成分:createElement 文本成分:createTextNode
属性节点:createAttribute CDATA节点:createCDATASection

XML在线压缩/格式化学工业具:

在线XML/JSON相互调换工具:

父节点.appendChild

XML代码在线格式化美化学工业具:

在线格式化XML/在线压缩XML:

dom成立xml文书档案案例

越多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《PHP针对XML文件操作本领总括》、《PHP数组操作技巧大全》、《php字符串用法计算》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作工夫汇总》

XML在线压缩/格式化学工业具:

 xiaohuang yellow */$dom = new DOMDocument;//创建元素节点$dog = $dom -> createElement;$name = $dom -> createElement;$color = $dom -> createElement;$age = $dom -> createElement;//创建文本节点$name_txt = $dom -> createTextNode;$color_txt = $dom -> createTextNode;$age_txt = $dom -> createTextNode;//追加//元素节点追加文本节点$name -> appendChild;$color -> appendChild;$age -> appendChild;//元素节点追加元素节点$dog -> appendChild;$dog -> appendChild;$dog -> appendChild;//最外面的根节点需要给dom节点追加$dom -> appendChild输出xml信息到浏览器header("content-type:text/xml;charset=utf-8");echo $dom -> saveXML();//信息直接输出到浏览器中//方法输出xml信息到指定文件$dom -> formatOutput = true;$dom -> save;

指望本文所述对大家PHP程序设计具备助于。

XML代码在线格式化美化学工业具:

创办属性节点

越来越多关于PHP相关内容感兴趣的读者可查阅本站专题:《PHP针对XML文件操作技艺总计》、《PHP数组操作技巧大全》、《php字符串用法总括》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php数不胜数数据库操作本领汇总》

 xiaohuang yellow */$dom = new DOMDocument;//创建元素节点$dog = $dom -> createElement;$name = $dom -> createElement;$color = $dom -> createElement;$age = $dom -> createElement;//创建文本节点$name_txt = $dom -> createTextNode;$color_txt = $dom -> createTextNode;$age_txt = $dom -> createTextNode;//追加//元素节点追加文本节点$name -> appendChild;$color -> appendChild;$age -> appendChild;//元素节点追加元素节点$dog -> appendChild;$dog -> appendChild;$dog -> appendChild,给name节点创建weight属性节点$weight_txt = $dom -> createTextNode;$weight = $dom -> createAttribute;$weight -> appendChild;//属性节点追加自己的文本节点$name -> appendChild;//属性节点被追加到对应的元素节点中//创建属性节点方法,给name节点创建height属性节点$name -> setAttribute;//最外面的根节点需要给dom节点追加$dom -> appendChild输出xml信息到浏览器header("content-type:text/xml;charset=utf-8");echo $dom -> saveXML();//信息直接输出到浏览器中//方法输出xml信息到指定文件$dom -> formatOutput = true;$dom -> save;

但愿本文所述对大家PHP程序设计有着帮忙。

PS:这里再为大家提供四款有关xml操作的在线工具供大家仿效运用:

在线XML/JSON相互转变工具:

在线格式化XML/在线压缩XML:

XML在线压缩/格式化学工业具:

XML代码在线格式化美化学工业具:

愈来愈多关于PHP相关内容感兴趣的读者可查看本站专项论题:《PHP针对XML文件操作才干总计》、《PHP数组操作技巧大全》、《php字符串用法总计》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作工夫汇总》

意在本文所述对大家PHP程序设计有着帮助。

发表评论