2013-06-18 50 views
0

末值我有以下XML文件,我想不出我將如何讓PHP打開此文件,並知道最後一個ID爲3PHP查找XML

<League> 
    <Id>1</Id> 
    <Name>English Premier League</Name> 
</League> 
<League> 
    <Id>2</Id> 
    <Name>English League Championship</Name> 
</League> 
<League> 
    <Id>3</Id> 
    <Name>Scottish Premier League</Name> 
</League> 
+0

您可能想要使用PHP中包含的SimpleXML。看看[官方文檔](http://www.php.net/manual/en/simplexml.examples-basic.php)瞭解更多使用細節。 – 2013-06-18 18:23:38

回答

0

這是一個非常簡單的例如,使用DOM和XPath:

<?php 
$str = <<<XML 
<root> 
<League> 
    <Id>1</Id> 
    <Name>English Premier League</Name> 
</League> 
<League> 
    <Id>2</Id> 
    <Name>English League Championship</Name> 
</League> 
<League> 
    <Id>3</Id> 
    <Name>Scottish Premier League</Name> 
</League> 
</root> 
XML; 

$dom = new DOMDocument(); 
$dom->loadXML($str); 
$xpath = new DOMXPath($dom); 
foreach($xpath->query("(//Leagues/League)[last()]") as $league) 
{ 
    echo $league->nodeValue, "\n"; 
} 

See a Live DEMO here!

More about XPath ?

More about DOM ?

+0

有沒有辦法用simplexml來做到這一點? – Somk

+0

@Max是的,但我不是一個simplexml的人,我更喜歡DOM,因爲它默認安裝在大多數服務器上。 – Prix

+0

@Max:DOM和SimpleXML是PHP中的親密姐妹。 http://php.net/simplexmlelement.xpath – hakre