搜索
博主信息
博文 20
粉丝 0
评论 0
访问量 38316
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
使用PHP解析XML数据
陈文鹏的博客
原创
1133人浏览过

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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学