繁体   English   中英

如何从XML循环foreach获取数组数据

[英]how to get array data from XML loop foreach

我有这样的XML sparql输出:

<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
    <variable name="Keyword2"/>
</head>
<results ordered="false" distinct="false">
    <result>
        <binding name="Keyword2">
            <uri>http://www.semanticweb.org/g/ontologies/2010/0/OntologiBatikTanty#Soga_Jawa</uri>
        </binding>
    </result>
    <result>
        <binding name="Keyword2">
            <uri>http://www.semanticweb.org/g/ontologies/2010/0/OntologiBatikTanty#Warna_Alami</uri>
        </binding>
    </result>
</results>
</sparql>

`

我这样在PHP中进行foreach循环:

$xml = simplexml_load_string($hasil) or die ("error cannot create object");
$results = $xml->results->result;
$jumlah=count($results);
echo "Total hasil pencarian : $jumlah <br><br>";
//$keyword2=array();
$output=array();
foreach($xml->results->result as $nodes){
$jumlah=count($nodes);
    foreach ($nodes->binding as $key =>$node) {
      $output=$node->uri;
      echo $output;
      echo "<br><br>";
      echo $keyword=substr($output,66);
      echo "<br><br>";  
    }
    }
    echo"<hr>";
    echo $keyword[0];

`

我的问题是如何从外部循环访问数据数组。 例如,我想访问index [0]。 但仅输出“ W”应该是“ Soga_Jawa”

解决了您的问题,请检查此代码

$xml = simplexml_load_string($hasil) or die ("error cannot create object");
$results = $xml->results->result;
$jumlah=count($results);
echo "Total hasil pencarian : $jumlah <br><br>";
//$keyword2=array();
$output=array();
$keyword = array();
foreach($xml->results->result as $nodes){
$jumlah=count($nodes);
    foreach ($nodes->binding as $key =>$node) {
      $output=$node->uri;
      echo $output;
      echo "<br><br>";
      echo $keyword[]=substr($output,66);
      echo "<br><br>";  
    }
    }
    echo"<hr>";
    echo $keyword[0];

使用关键字作为数组类型并使其脱离循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM