Reputation: 17
My sparql output in xml like this :
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="judulNaskah"/>
<variable name="linkNaskah"/>
</head>
<results ordered="false" distinct="false">
<result>
<binding name="judulNaskah">
<literal>
Perancangan Aplikasi Fuzzy Multi Criteria Decision Making (FMCDM) Untuk Menentukan Nilai Ketidakpastian Sistem Pakar
</literal>
</binding>
<binding name="linkNaskah">
<literal>
http://seminar.ilkom.unsri.ac.id/index.php/ars/article/view/343
</literal>
</binding>
</result>
<result>
<binding name="judulNaskah">
<literal>
Implementasi Metode Fuzzy Sugeno Pada Robot Kapal Penghindar Rintangan
</literal>
</binding>
<binding name="linkNaskah">
<literal>
http://seminar.ilkom.unsri.ac.id/index.php/ars/article/view/80
</literal>
</binding>
</result>
</results>
</sparql>
I want to get value all of tag literal, I try this code :
$xml=simplexml_load_string($hasil) or die("Error: Cannot create object");foreach ($xml->results->result->binding as $node) {
$arr = $node->attributes(); // returns an array
print ($node->literal);
print ("<br>");
}
` But my output just give result array [0] like this : Perancangan Aplikasi Fuzzy Multi Criteria Decision Making (FMCDM) Untuk Menentukan Nilai Ketidakpastian Sistem Pakar http://seminar.ilkom.unsri.ac.id/index.php/ars/article/view/343
How I get value all of array literal?
Anyone please help me.
Upvotes: 0
Views: 80
Reputation: 1020
It seems like you have object array inside array. Try this following code bellow
$xml=simplexml_load_string($hasil) or die("Error: Cannot create object");
foreach ($xml->results->result as $nodes) {
foreach ($nodes->binding as $node) {
echo $node->literal.'<br>';
}
}
//echo '<pre>'.print_r( $xml->results->result , true).'</pre>';
Hope it helps
edited part
$xml = simplexml_load_string($hasil) or die("Error: Cannot create object");
$results = $xml->results->result;
for($i=0; $i<count($results); $i++) {
echo $i + 1;
echo ' .';
foreach ($results[$i]->binding as $key =>$node) {
$output=$node->literal;
$arr=$node->attributes();
if ($arr=="linkNaskah"){
echo "<a href=$output>$output</a><br><br>";
}
else {
echo $key.''.$output.'<br>';
}
}
}
Upvotes: 1