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屬性。