2015-06-30 4 views
1

Я следующие XML-файл:Получить атрибуты и значения из XML-файла

<ROW> 
    <rating>10</rating> 
    <answers>Very Satisfied</answers> 
    <transaction_date>01/21/2015</transaction_date> 
    <date>05/30/2015</date> 
    <username>got2bsunny4me</username> 
    <link>http://widget.resellerratings.com/store/Amberen/review/#comment8877470</link> 
    <comment><![CDATA[my extreme hot flashes became less frequent within a couple weeks, and not as severe. after 2 months of taking Amberen, I didn't need to take as often. I've used Amberen before and my hot flashes...]]></comment> 
</ROW> 
<ROW> 
    <rating>10</rating> 
    <answers>Very Satisfied</answers> 
    <transaction_date>03/23/2015</transaction_date> 
    <date>05/18/2015</date> 
    <username>musiclvr24</username> 
    <link>http://widget.resellerratings.com/store/Amberen/review/#comment8785090</link> 
    <comment><![CDATA[Ordering was very easy! The whole website was very informative and very useful as a health resource. Thank you very much!]]></comment> 
</ROW> 

Вот мой PHP-файл для анализа файла XML.

<pre> 
<?php 

$seller_id = 113; 
$xml = simplexml_load_string(file_get_contents("http://widget.atings.com/widget/snippet/?seller_id=$seller_id")); 
foreach($xml->ROW as $row){ 
//echo $row,'="',$s,"\"\n"; // to get all rows 
var_dump($row); 
    echo '<div class="spans"></div>'; 
} 



//var_dump($xml->ROW) // to get single row 
?> 
</pre> 

Мне нужно получить атрибуты и значения каждой строки, отображаемые во вновь созданных div для каждой строки. Как я могу это достичь?

ответ

1

Если возможно добавить некоторые основные теги в начале и в конце вашего XML и остальной код будет работать нормально ...

<document> 
<ROW> 
<rating>10</rating> 
<answers>Very Satisfied</answers> 
<transaction_date>01/21/2015</transaction_date> 
<date>05/30/2015</date> 
<username>got2bsunny4me</username> 
<link>http://widget.resellerratings.com/store/Amberen/review/#comment8877470</link> 
<comment><![CDATA[my extreme hot flashes became less frequent within a couple weeks, and not as severe. after 2 months of taking Amberen, I didn't need to take as often. I've used Amberen before and my hot flashes...]]></comment> 
</ROW> 

<ROW> 
<rating>10</rating> 
<answers>Very Satisfied</answers> 
<transaction_date>03/23/2015</transaction_date> 
<date>05/18/2015</date> 
<username>musiclvr24</username> 
<link>http://widget.resellerratings.com/store/Amberen/review/#comment8785090</link> 
<comment><![CDATA[Ordering was very easy! The whole website was very informative and very useful as a health resource. Thank you very much!]]></comment> 
</ROW> 
</document> 
+1

Ваш код PHP будет работать нормально ... вы можете заменить '$ XML = simplexml_load_string (file_get_contents ("http://widget.atings.com/widget/snippet/?seller_id=$seller_id")); 'с' $ xml = simplexml_load_file ("http://widget.atings.com/widget/snippet/?seller_id=$seller_id"); ' –

0

Вы должны заключены некоторые основные теги, как «СТРОК», которые вложенных другие теги , пожалуйста, проверьте ниже XML и код, чтобы получить доступ к значению элемента.

$xml = <<<XML 
<ROWS> 
    <ROW> 
     <rating>10</rating> 
     <answers>Very Satisfied</answers> 
     <transaction_date>01/21/2015</transaction_date> 
     <date>05/30/2015</date> 
     <username>got2bsunny4me</username> 
     <link>http://widget.resellerratings.com/store/Amberen/review/#comment8877470</link> 
     <comment><![CDATA[my extreme hot flashes became less frequent within a couple weeks, and not as severe. after 2 months of taking Amberen, I didn't need to take as often. I've used Amberen before and my hot flashes...]]></comment> 
    </ROW> 
    <ROW> 
     <rating>10</rating> 
     <answers>Very Satisfied</answers> 
     <transaction_date>01/21/2015</transaction_date> 
     <date>05/30/2015</date> 
     <username>got2bsunny4me</username> 
     <link>http://widget.resellerratings.com/store/Amberen/review/#comment8877470</link> 
     <comment><![CDATA[my extreme hot flashes became less frequent within a couple weeks, and not as severe. after 2 months of taking Amberen, I didn't need to take as often. I've used Amberen before and my hot flashes...]]></comment> 
    </ROW> 
</ROWS> 
XML; 

$xml = simplexml_load_string($xml); 
foreach($xml as $row){ 
    echo $row->rating; 
    echo $row->answers; 
} 
0
$xml=simplexml_load_file("http://widget.atings.com/widget/snippet/?seller_id=$seller_id") or die("Error: Cannot create object");         
foreach($xml->children() as $child) : 

endforeach; 

// Load xml file content 

$xml=simplexml_load_file("http://example.com/xml.xml") or die("Error: Cannot create object"); 


//Get children with foreach. 


foreach($xml->children() as $child) 
{ $inc = 1; 
    foreach($child->children() as $childs){         
    foreach($childs->children() as $childss){ 
    if($inc == 7) :            
    if($childss->getName() === 'description') : 
    echo '<div class="descriptionOfNisab">'. $childss . '</div>'; 
    endif; 
    endif;            
    }         
    $inC++; 
    } 
} 
+0

, пожалуйста, не указывайте только код как ответ. Вы должны включить некоторое объяснение слишком. –

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