博客列表 >使用PHP解析XML数据

使用PHP解析XML数据

陈文鹏的博客
陈文鹏的博客原创
2017年08月12日 09:25:52890浏览

XML描述一部***的信息

小山

张一山

爱代码,爱生活]]>

周冬雨

小雨

游览器游览效果:

图片3.png


XML数据解析原理图

图片4.png


对元素(节点)进行增删改查

header("content-type:text/html;charset=utf-8");

$xml=simplexml_load_file("11.xml");

echo "

";

print_r($xml);

echo "

";

echo "


";

//给根节点添加一个子节点,名字叫stu1

$stu=$xml->addChild("stu1");

//以下是给节点添加属性和属性值

$stu->addChild('name','大白');

$stu->addChild('age','男');

$stu->addChild('author','托梦');

//销毁根节点的这个名叫stu的子节点

unset($xml->stu);

$xml->asXML("11.xml");

 

 ?>

预览效果:

图片5.png

对属性的操作

①、查询一个标签的属性

图片6.png

②、添加属性

图片7.png

③、修改属性的值

图片9.png

④、删除属性

图片10.png


接口的引用

接口地址:

http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0

1、接口类型:HTTP GET请求

参数说明:

city :要查询城市的名称,文本要进行格式转换,转换为utf-8格式且数据需要使用urlencode进行转码

password :密钥,固定

day :0代表要查询当天的天气情况

2、接口调用的具体实现

第一步:使用simplexml_load_file(),来读取接口地址,得到SimpleXMLElement对象。

第二步:通过SimpleXMLElement对象组合自己想要的结果即可。

图片11.png

页面效果:

图片12.png

Xpath语言

XPath是一门在 XML 文档中查找信息的语言。

XPath可用来在 XML 文档中对元素和属性进行遍历。

而且Xpath并不仅仅应用于XML数据查询,其在很多语言中(PHP、Java、.NET以及Javascript),都可以广泛使用。

2、Xpath语言详解

①、使用绝对路径进行检索(/person/hero)

使用斜线/打头的都属于绝对路径,从根元素开始找。

图片13.png

页面效果:

图片14.png

使用xpath的绝对路径来查找hero所有的信息:

图片15.png

页面效果:

图片16.png

②、使用相对路径(//hero)

使用双斜线//方式的都属于相对路径,可以不必从根节点查找。只查找元素节点

图片17.png

页面效果:

图片18.png

③、使用星号*来检索数据

星号 * 表示查找指定路径后的所有节点,包括属性节点。

图片19.png

页面效果:

图片20.png

④、使用方括号[]来检索数据

[]里面可以对查询到的节点进行筛选。[]里面具体可以填写子节点、属性、还可以使用xpath中的函数

图片21.png

4.1使用[@attr]符号来检索节点的属性

图片22.png

加@表示属性,不加@表示子节点。

模糊查询的例子:

图片23.png


翻译案例:

如果用MySQL设计数据库:

create table dict(

id int primary key auto_increment,

cn varchar(30),

en varchar(45)

)

如果用xml存放中英文对照数据:

你好

hello

good

图片24.png

2、设计界面

图片25.png

图片26.png

3、查询程序

图片27.png

将查询结果写到html中:

图片28.png

4、添加程序

页面效果:

图片29.png

图片30.png

写程序完成添加新词的功能:

图片31.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议