2013-09-27 34 views
0

請使用迭代器檢查這個代碼,從here獲取價值形態SimpleXMLIterator如果沒有孩子

<?php 
    $xml = <<<XML 
    <books> 
     <book> 
      <title>PHP Basics</title> 
      <author>Jim Smith</author> 
     </book> 
     <book>XML basics</book> 
    </books> 
    XML; 

    $xmlIterator = new SimpleXMLIterator($xml); 
    for($xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next()) { 
     foreach($xmlIterator->getChildren() as $name => $data) { 
     echo "The $name is '$data' from the class " . get_class($data) . "\n"; 
     } 
    } 
    ?> 

如何從所有的書節點附加「的XML基礎知識」的價值觀拍攝(在第二本書節點)?

回答

1

這會給你XML basics作爲輸出。

<?php 
    $xml = <<<XML 
    <books> 
     <book> 
      <title>PHP Basics</title> 
      <author>Jim Smith</author> 
     </book> 
     <book>XML basics</book> 
    </books> 
    XML; 
for($xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next()) { 
     $xmlIterator->next(); 
     echo $xmlIterator->getChildren(); 
    } 
?> 

[編輯] 它會同時顯示圖書

$xmlIterator = new SimpleXMLIterator($xml); 
    for($xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next()) { 
     foreach($xmlIterator->getChildren() as $name => $data) { 
     echo "$data<br />"; 
     break; 
     } 
     echo $xmlIterator->getChildren(); 
    } 
+0

因此它保持了第一本書的輸出請編輯代碼。謝謝。 – eomeroff

+0

你還想要第一本書還是隻想輸出第一本書 – Mubin

+0

兩本書,也是第一本書 – eomeroff