php读取xml的值,PHP读取XML值的代码(推荐)
用Php读取XML最简单的情况:
XML文件(cy.xml)如下:
1
2
3
Php文件(cy.php)如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的运行结果:
1
2
3
=============
用Php读取XML稍微复杂一点的情况:
cy.xml如下:
1
2
3
cy.php如下(和第一种情况没有任何变化):
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的运行结果和第一次也相同:
1
2
3
Php读取XML第三种情况:
XML文件(cy.xml)如下:
1
2
3
4
5
6
Php文件(cy.php)如下(和第一次依然没有变化):
$xml = new DOMDocument();
$xml->load('cy.xml');
foreach($xml->getElementsByTagName('list') as $list)
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
?>
cy.php的输出结果:
1
2
3
4
5
6
===========
Php读取XML第四种情况,保持cy.xml不变,改变cy.php:
XML文件(cy.xml)如下:
1
2
3
4
5
6
Php文件(cy.php)如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果:
1
2
3
4
5
6
为什么两次的cy.php不同,但输出结果是相同的?让我们来看下一个例子
==============
Php读取XML第五种情况,改变cy.xml,使cy.php保持第四种情况:
XML文件(cy.xml)如下:
1
2
3
4
5
6
7
8
9
Php文件(cy.php)和第四种情况相同:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果为:
1
2
3
4
5
6
为什么
7
8
9
中的7,8,9没有被读出来?
因为我们的cy.php只读取标记中的内容.标记中的内容是不会被读取的.
我们这里所提到的”标记”,在XML里被称做”节点”;
关于”节点”的相关概念,我们将在以后说明.
Php读取XML情况六,再foreach一次,我们把7,8,9读出来!:
XML文件(cy.xm)如下:
1
2
3
4
5
6
7
8
9
Php文件(cy.php)如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果:
1
2
3
4
5
6
7
8
9
===============
Php读取XML情况七,cy.xml变得更复杂一些:
XML文件(cy.xml)如下:
a
1
2
3
b
4
5
6
c
7
8
9
那么,我们如何只读出内
中的值呢?
Php文件(cy.php)如下:
$xml = new DOMDocument();
$xml->load('cy.xml');
$main = $xml->getElementsByTagName('main');
foreach( $main as $main)
{
$list = $main->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
$title = $main->getElementsByTagName( “title” );
foreach ( $title as $title )
{
$value = $title->firstChild->nodeValue;
echo $value.”
”;
}
}
$m = $xml->getElementsByTagName('m');
foreach( $m as $m)
{
$list = $m->getElementsByTagName( “list” );
foreach ( $list as $list )
{
$value = $list->firstChild->nodeValue;
echo $value.”
”;
}
}
?>
cy.php输出结果:
1
2
3
a
4
5
6
7
8
9
想一下,如何读出中的值?
Php读取XML再通过一个例子巩固一下:
XML文件(cy.xml)如下:
This is Text One
This is Text Two
This is Text Three
This is Text Four
This is Text Five
This is Text Six
Php文件(cy.php)如下:
$xml = new DOMDocument(); //建立一个DOMDocument
$xml->load('cy.xml'); //Php指定需要读取xml文件的位置
$LevelOne = $xml->getElementsByTagName('LevelOne');//按照名称取得节点,返回所有节点的集合,不过这里这样读LevelOne是没有意义的….
$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0);//返回第一个LevelOne节点中的内容
$LevelTwo = $LevelOne->getElementsByTagName('LevelTwo'); //按照名称取得节点,返回所有LevelTwo
foreach ( $LevelTwo as $Content )//循环读出所有LevelTwo,并在循环里,把LevelTwo用Content表示
{
$LevelThree = $Content->getElementsByTagName('LevelThree');//返回所有LevelThree
foreach ( $LevelThree as $Concert )
{
$name = $Concert->nodeName;//节点名称
$value = $Concert->nodeValue;//节点值
$id = $Concert->getAttribute('id');//”id”属性值
echo $name.”
”;
echo $value.”
”;
echo $id.”
”;
}
}
?>
如果用$LevelOne = $xml->getElementsByTagName('LevelOne')这样的方式取得节点,那么,读取里面的内容,需要用foreach 循环,因为$LevelOne = $xml->getElementsByTagName ('LevelOne')返回的,是一个集合,并不是一个具体的节点—-仅管叫做LevelOne的节点只有一个….
如果用$LevelOne = $xml->getElementsByTagName('LevelOne')->item(0)这样的方式取得节点,那么读取里面的内 容,可以直接$LevelOne->xxxxxx,因为这样返回的是一个具体的节点。
现在提供一种很简便的方法用PHP读取XML:
XML文件(cy.xml)如下:
czbin xml版块
xml的相关文章
czbin php版块
php的相关文章
czbin ajax版块
ajax的相关文章
Php文件(cy.php)如下:
$xml = simplexml_load_file('sxml.xml');
$part = $xml->site->part;
foreach ( $part as $content )
{
echo $content['id'].”
”;
echo $content->title.”
”;
echo $content->title['id'].”
”;
echo $content->describe.”
”;
}
?>
cy.php输出结果:
1
czbin xml版块
a
xml的相关文章
2
czbin php版块
php的相关文章
3
czbin ajax版块
c
ajax的相关文章
怎么样?的确很简单吧!
php读取xml的值,PHP读取XML值的代码(推荐)相关推荐
- php读取xml的值,PHP读取XML 值
Php读取XML第三种情况:XML文件(cy.xml)如下:123456Php文件(cy.php)如下(和第一次依然没有变化):load('cy.xml');foreach($xml->getE ...
- linux下用js生成xml文件,使用JS读取XML文件的方法
由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析xml的方法,只能是很浅显的知道他的用法,但是还没有深层次的研究. 不同的浏览器对xml的解析方式不同,根据目前主流浏览器大致 ...
- java解析xml生成表格_JAVA读取XML文件并解析 以及 JAVA生成文本文件输出
废话不多说,直接上代码及说明吧! package Dao; import java.io.File; import java.util.ArrayList; import java.util.List ...
- java xml 读取库_Java开发中读取XML与properties配置文件的方法
相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...
- 读取excel并将其转换为xml
1.前言 项目开发过程中需要读取excel文档,并将excel文档中的内容转化为xml文档并保存在本地文件中. 比如要读取如下格式的excel文档: 通过代码实例中如下的代码段可以运行excel中有空 ...
- java property xml,Java开发中读取XML与properties配置文件的方法
相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...
- python读取xml文件内容_python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...
- r语言 xml html,R语言读取XML文件-xml文件
XML文件简介 在计算机领域,XML(extensible markup language)指的是可扩展标记语言,类似于HTML,它设计的宗旨是传输数据,而不是显示数据,所以这也是它和HTML的一个明 ...
- yolov3从头实现(一)-- xml标签制作与读取
标签制作与读取 这里说的标签制作并非yolov3所需要的标签,而是一般的没有处理的标签 一.标签的制作 1.制作工具及制作结果 制作工具使用的是:labelImg 用labelimg制作完成后的标签 ...
- python读取xml文件信息_python读取xml文件方法解析
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...
最新文章
- 使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战
- python下使用qrcode方法
- 隔空测量电压:电场强度测试仪-FMX-004
- ttc转ttf在线网站_文件格式怎么在线互转?迅捷PDF转换器告诉你
- 【转】XCode: duplicate symbol 解决方案
- 华为成为全球领先的移动设备供应商
- golang变量使用细节
- rust油桶用什么打_选什么样的柜子才好用?别再选定制柜了,还是老手艺人打的柜子好...
- P6178-[模板]Matrix-Tree 定理
- dingtalk 推送手机号信息 golang_Python学习第九十六天:Python调用钉钉机器人推送消息...
- shell bash常用工具教程(curl,jq)
- 自动化测试-selenium初始化Driver参考
- 传智播客Java学习之类的继承
- JavaWeb学习笔记——Mac os下在idea中创建Web项目以及部署Tomcat
- Java 验证码图片不加载处理办法
- VMware中卸载Ubuntu
- 1998-2018 TOM邮箱20年发展
- 学习jQuery的感受
- linux磁盘连接方式,LaCie 最新的外接硬盘以 USB-C 作为连接方式
- PHP 项目 该网页无法正常运作情况,但没有报错
热门文章
- 改变MyEclipse默认编码方式
- 打开WORD 2003时提示发现错误,需要关闭,还要发送错误报告给Microsoft 解决方案...
- 第13章 集成学习和随机森林 学习笔记下 随机森林和集成学习
- 外参矩阵转四元数,左右手坐标系转化1
- Attit 现代编程语言重要特性 目录 第一章 可读性与开发效率 简单性	1 第一节 垃圾回收	1 第二节 自动垃圾回收	1 第三节 命名参数 函数多返回值	1 第四节 多语言 语言交互性	2 第五
- Atitit diy战略 attilax总结
- Atitit osi tcp ip 对应attilax总结
- Atitit 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
- Atitit.如何避免公司破产倒闭的业务魔咒
- atitit.ajax上传文件的实现原理 与设计