XML文件内容
<?xml version="1.0" encoding="UTF-8" ?>
<note>
<to>腾讯</to>
<from>百度</from>
<head>bat</head>
<body>BAT是中国互联网公司百度公司(Baidu)、阿里巴巴集团(Alibaba)、腾讯公司(Tencent)三大巨头首字母缩写。</body>
</note>
PHP文件内容
<?php
header('Content-type:text/html;charset=utf-8');
/*
三种方式解析XML文件
1.基于事件的Expat解析器
2.基于树的DOM解析器
3.SimpleXML解析器
*/
//SimpleXML解析器
//1.加载XML文件
$xml = simplexml_load_file('note.xml');
//2.输出XML根节点的名称
echo $xml -> getName() . '<br />';
//3.遍历根节点的所有子节点
foreach ($xml -> children() as $child){
echo $child -> getName() . ': ' . $child . '<br />';
}
网页输出
结论
跟DOM解析器比较,发现二者的结构差不多,但还是有一些差异。
1.SimpleXML不需要初始化解析器了,直接加载文件。
2.SimpleXML解析器加载XML文件后,直接获取到了根节点,而DOM解析器则需要获取documentElement属性才获取到根节点。
3.在子节点遍历中,SimpleXML解析器输出子节点变量就直接输出了子节点的文本内容,而DOM节点需要获取nodeValue属性。