SimpleXMLElement
并不是那么简单,事实上只有当你猜测如何处理它时它才会变得简单......或者有人建议你。
假设regions.xml
是这样的:
<regions>
<region id="01" size="big">
New Zealand
</region>
<region id="02" size="small">
Tokelau
</region>
</regions>
以下 PHP 代码可以浏览该 XML 文档:
$xml = new SimpleXMLElement('regions.xml');
foreach ($xml->region as $region) { // iterate through all the regions
echo 'Region ID: '. (string)$region['id']; // get the attribute id
echo 'Region size: '. (string)$region['size']; // get the attribute size
echo 'Region name: '. (string)$region; // get the contents of the
// element by casting it to a string
}
现在让我们做一些更难的事情......假设<region>
有一个子元素,<subregion>
。
<regions>
<region id="01" size="big">
<name>USA</name>
<subregion id="01_1">Alaska</subregion>
</region>
...
</regions>
如果要获取每个区域的所有子区域,则必须这样做:
$xml = new SimpleXMLElement('regions.xml');
foreach ($xml->region as $region) { // iterate through all the regions
foreach ($region->subregion as $subregion) // iterate trough the subregion of $region
// do something
}
}
您的文档结构似乎比这复杂一点,但使用这些基础知识您可以轻松解决。