PHP读取XML文件属性值和节点值

PHP读取XML文件方法很多,如DOMDocument,simplexml,正则表达式,xmlreader等
这里我们就用DOMDocument即可完成几乎所有常用的读取XML的工作,如属性值和节点值

XML源文件photo.xml格式如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<photos>
<config
folder=”hdpictures/custom/building/”
enable_fullscreen=”true”
drag_speed=”2.4″>
</config>

<photo>
<thumbnail>s_building_001.jpg</thumbnail>
<filename>building (1).jpg</filename>
</photo>

<photo>
<thumbnail>s_building_002.jpg</thumbnail>
<filename>building (2).jpg</filename>
</photo>

<photo>
<thumbnail>s_building_003.jpg</thumbnail>
<filename>building (3).jpg</filename>
</photo>
</photos>

功能需求:读取config下属性folder的值和photo下thumbnail和filename标签值

PHP代码如下:
$doc = new DOMDocument();
$doc->load(‘photo.xml’);

//取得photo和config标签的对象数组
$photos = $doc->getElementsByTagName( “photo” );
$config = $doc->getElementsByTagName( “config” );
$confignode  = $config->item(0);
$folder  = $confignode->getAttribute(‘folder’);

foreach ($photos as $photo) {
//取得thumbnail的标签的对象数组
$thumbnails = $photo->getElementsByTagName( “thumbnail” );
$filenames = $photo->getElementsByTagName( “filename” );

//取得thumbnail节点中的值
$thumbnail = $thumbnails->item(0)->nodeValue;
$filename = $filenames->item(0)->nodeValue;

echo ‘图片路径:’.$folder.’\n’;
echo ‘缩略图名称:’.$thumbnail.’\n’;
echo ‘大图名称:’.$filename.’\n’;
echo ‘————————-‘;
}

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论