PHP解析XML
2015-11-13 13:31
447 查看
student.xml
<?xml version="1.0" encoding="utf-8"?>
<students>
<student>
<id>1</id>
<name>
<first>haung</first>
<last>binglin</last>
</name>
<age>20</age>
</student>
<student>
<id>2</id>
<name>
<first>li</first>
<last>si</last>
</name>
<age>20</age>
</student>
</students>
两种常用解析:
//SimpleXML 解析
$xml = simplexml_load_file('student.xml');
foreach($xml->student as $student){
$id = $student->id;
$first = $student->name->first;
$last = $student->name->last;
$age = $student->age;
echo "$id--$first-$last--$age";
echo "</br>";
}
//Dom解析
$dom = new DOMDocument();
$dom->load('student.xml');
$students = $dom->getElementsByTagName('student');
foreach($students as $student){
$ids = $student->getElementsByTagName('id');
$id = $ids->item(0)->nodeValue;
$names = $student->getElementsByTagName('name');
foreach($names as $name){
$first = $name->getElementsByTagName('first')->item(0)->nodeValue;
$last = $name->getElementsByTagName('last')->item(0)->nodeValue;
}
$name = $names->item(0)->nodeValue;
$ages = $student->getElementsByTagName('age');
$age = $ages->item(0)->nodeValue;
echo "$id--$first-$last--$age";
echo "</br>";
}
<?xml version="1.0" encoding="utf-8"?>
<students>
<student>
<id>1</id>
<name>
<first>haung</first>
<last>binglin</last>
</name>
<age>20</age>
</student>
<student>
<id>2</id>
<name>
<first>li</first>
<last>si</last>
</name>
<age>20</age>
</student>
</students>
两种常用解析:
//SimpleXML 解析
$xml = simplexml_load_file('student.xml');
foreach($xml->student as $student){
$id = $student->id;
$first = $student->name->first;
$last = $student->name->last;
$age = $student->age;
echo "$id--$first-$last--$age";
echo "</br>";
}
//Dom解析
$dom = new DOMDocument();
$dom->load('student.xml');
$students = $dom->getElementsByTagName('student');
foreach($students as $student){
$ids = $student->getElementsByTagName('id');
$id = $ids->item(0)->nodeValue;
$names = $student->getElementsByTagName('name');
foreach($names as $name){
$first = $name->getElementsByTagName('first')->item(0)->nodeValue;
$last = $name->getElementsByTagName('last')->item(0)->nodeValue;
}
$name = $names->item(0)->nodeValue;
$ages = $student->getElementsByTagName('age');
$age = $ages->item(0)->nodeValue;
echo "$id--$first-$last--$age";
echo "</br>";
}
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- XML 与 JSON 优劣对比
- Php Installing An Expansion
- As3.0 xml + Loader应用代码
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day
- ext读取两种结构的xml的代码
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- C#针对xml基本操作及保存配置文件应用实例