2010-02-17 83 views
0

我有一個XML文件中提取值,並且佈局是這樣需要從XML文件

<author> 
    <name></name> 
    <iso></iso> 
    <price></price> 

</author> 

我知道它是如何循環。我想知道我怎麼能提取

<name> 

感謝 值讓

[編輯]

我的道歉,如果

<author> 
      <name> 
      <first_name></first_name> 
      <last_name></lastname> 
      </name> 
    </author> 

我想提取FIRST_NAME

+0

嘗試PHP的內置XML解析器。 http://php.net/manual/en/book.xml.php – TRiG

回答

4

使用simplexml或類似:

<?php 
$string = <<<XML 
<author> 
    <name> 
     <first_name>John</first_name> 
     <last_name>Smith</last_name> 
    </name> 
</author> 
XML; 

$xml = simplexml_load_string($string); 

var_dump($xml); 
?> 

將輸出類似這樣:

object(SimpleXMLElement)#1 (1) { 
    ["name"]=> 
    object(SimpleXMLElement)#2 (2) { 
    ["first_name"]=> 
    string(4) "John" 
    ["last_name"]=> 
    string(5) "Smith" 
    } 
} 

,您可以訪問的名稱是這樣的:

echo $xml->name->first_name; // outputs 'John' 
echo $xml->name->last_name; // outputs 'Smith' 
+0

由於其工作..................... – X10nD

1

使用SimpleXML

編輯:我看。那以前沒有出現過。試試這個:

$xml = simple_xml_load_string([your XML string]) 
echo $xml->name; 

這是否行得通?

+0

我使用simplexml的,但我想提取 X10nD

+0

@Jean的價值:這是SimpleXML的文檔(HTTP中完全描述://無.php.net/manual/en/simplexml.examples-basic.php) –

+1

爲什麼downvote? – Skilldrick