用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值的代码(推荐)相关推荐

  1. php读取xml的值,PHP读取XML 值

    Php读取XML第三种情况:XML文件(cy.xml)如下:123456Php文件(cy.php)如下(和第一次依然没有变化):load('cy.xml');foreach($xml->getE ...

  2. linux下用js生成xml文件,使用JS读取XML文件的方法

    由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析xml的方法,只能是很浅显的知道他的用法,但是还没有深层次的研究. 不同的浏览器对xml的解析方式不同,根据目前主流浏览器大致 ...

  3. java解析xml生成表格_JAVA读取XML文件并解析 以及 JAVA生成文本文件输出

    废话不多说,直接上代码及说明吧! package Dao; import java.io.File; import java.util.ArrayList; import java.util.List ...

  4. java xml 读取库_Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

  5. 读取excel并将其转换为xml

    1.前言 项目开发过程中需要读取excel文档,并将excel文档中的内容转化为xml文档并保存在本地文件中. 比如要读取如下格式的excel文档: 通过代码实例中如下的代码段可以运行excel中有空 ...

  6. java property xml,Java开发中读取XML与properties配置文件的方法

    相关阅读: 1. XML文件: 什么是XML?XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.XML文件的优点: 1)XML文档内容和结构完 ...

  7. python读取xml文件内容_python读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...

  8. r语言 xml html,R语言读取XML文件-xml文件

    XML文件简介 在计算机领域,XML(extensible markup language)指的是可扩展标记语言,类似于HTML,它设计的宗旨是传输数据,而不是显示数据,所以这也是它和HTML的一个明 ...

  9. yolov3从头实现(一)-- xml标签制作与读取

    标签制作与读取 这里说的标签制作并非yolov3所需要的标签,而是一般的没有处理的标签 一.标签的制作 1.制作工具及制作结果 制作工具使用的是:labelImg 用labelimg制作完成后的标签 ...

  10. python读取xml文件信息_python读取xml文件方法解析

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python来读取xml文件. 什么是xm ...

最新文章

  1. 使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战
  2. python下使用qrcode方法
  3. 隔空测量电压:电场强度测试仪-FMX-004
  4. ttc转ttf在线网站_文件格式怎么在线互转?迅捷PDF转换器告诉你
  5. 【转】XCode: duplicate symbol 解决方案
  6. 华为成为全球领先的移动设备供应商
  7. golang变量使用细节
  8. rust油桶用什么打_选什么样的柜子才好用?别再选定制柜了,还是老手艺人打的柜子好...
  9. P6178-[模板]Matrix-Tree 定理
  10. dingtalk 推送手机号信息 golang_Python学习第九十六天:Python调用钉钉机器人推送消息...
  11. shell bash常用工具教程(curl,jq)
  12. 自动化测试-selenium初始化Driver参考
  13. 传智播客Java学习之类的继承
  14. JavaWeb学习笔记——Mac os下在idea中创建Web项目以及部署Tomcat
  15. Java 验证码图片不加载处理办法
  16. VMware中卸载Ubuntu
  17. 1998-2018 TOM邮箱20年发展
  18. 学习jQuery的感受
  19. linux磁盘连接方式,LaCie 最新的外接硬盘以 USB-C 作为连接方式
  20. PHP 项目 该网页无法正常运作情况,但没有报错

热门文章

  1. 改变MyEclipse默认编码方式
  2. 打开WORD 2003时提示发现错误,需要关闭,还要发送错误报告给Microsoft 解决方案...
  3. 第13章 集成学习和随机森林 学习笔记下 随机森林和集成学习
  4. 外参矩阵转四元数,左右手坐标系转化1
  5. Attit 现代编程语言重要特性 目录 第一章 可读性与开发效率 简单性 1 第一节 垃圾回收 1 第二节 自动垃圾回收 1 第三节 命名参数 函数多返回值 1 第四节 多语言 语言交互性 2 第五
  6. Atitit diy战略 attilax总结
  7. Atitit osi tcp ip 对应attilax总结
  8. Atitit  循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).
  9. Atitit.如何避免公司破产倒闭的业务魔咒
  10. atitit.ajax上传文件的实现原理 与设计