使用php仅从xml文件中读取第一个节点 [英] reading only first node from xml file with php

查看:32
本文介绍了使用php仅从xml文件中读取第一个节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 xml 数据读入 php.我设法用这个 scipt 阅读了所有标题"数据.问题是我只需要来自 xml 的第一个标题"元素!不幸的是,我立即得到了所有这些.如何只读取第一个标题"节点?

I am trying to read the xml data in to php. I managed to read all "title" data with this scipt. Problem is that I only need first "title" element from xml! In moment I get unfortunatly all of them. How to read only first "title" node?

<?php

$filename = $_SERVER['DOCUMENT_ROOT'].'images/albums/album.xml';
if (file_exists($filename)) {
$doc = new DOMDocument(); 
$doc->load($filename); 
$destinations = $doc->getElementsByTagName("title"); 

foreach ($destinations as $destination) { 
    foreach($destination->childNodes as $child) { 
        if ($child->nodeType == XML_CDATA_SECTION_NODE) { 
            echo ('<br/><strong>Värskemad pildid:</strong><br/><a      href="/images/albums/index.html" src=""/>' . $child->textContent .  '</a>');
        } 
    } 
} 

} else {
die(nothing);
}
?>

我的 xml 看起来像这样:

My xml looks something like this:

<album version="v6">
<title><![CDATA[2012-06-06 NK maakondlik laager]]></title>

<slide>
    <title><![CDATA[2012 NK maakondlik laager 003]]></title>

<description><![CDATA[text here]]></description>
        <date>05.06.2012 19:12</date>

    <image width="1069" height="813">slides/2012 NK maakondlik laager 003.JPG</image>
    <thumb width="240" height="180">thumbs/2012 NK maakondlik laager 003.JPG</thumb>
<info filesize="3.84 MB" date="05.06.2012 19:12" resolution="3456 x 2592 px" flash="Flash did not fire, auto" focus="5.0mm" 
exposure="1/320s" aperture="3.4" distance="" metering="Center weighted average" 
cameramake="Panasonic" cameramodel="DMC-TZ5" camera="DMC-TZ5" sensor="OneChipColorArea" iso="100"/>
</slide>


<slide>
    <title><![CDATA[2012 NK maakondlik laager 004]]></title>

<description><![CDATA[text here]]></description>
    <date>05.06.2012 19:22</date>

    <image width="1069" height="813">slides/2012 NK maakondlik laager 004.JPG</image>
    <thumb width="240" height="180">thumbs/2012 NK maakondlik laager 004.JPG</thumb>
<info filesize="4.07 MB" date="05.06.2012 19:22" resolution="3456 x 2592 px" flash="Flash did not fire, auto" focus="5.0mm" 
exposure="1/250s" aperture="3.4" distance="" metering="Center weighted average" 
cameramake="Panasonic" cameramodel="DMC-TZ5" camera="DMC-TZ5" sensor="OneChipColorArea" iso="100"/>
</slide>

推荐答案

尝试:

<?php
$filename = $_SERVER['DOCUMENT_ROOT'].'images/albums/album.xml';
if (file_exists($filename)) {
$xml = simplexml_load_file($filename);
echo $xml->title[0];
} else {
die("nothing");
}
?>

这篇关于使用php仅从xml文件中读取第一个节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆