2013-09-27 1 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

Смежные вопросы