Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-simpleXML帮助_Php_Simplexml - Fatal编程技术网

php-simpleXML帮助

php-simpleXML帮助,php,simplexml,Php,Simplexml,我有以下XML代码: <?xml version="1.0"?> <Days> <day value="1"> <Imsaak>04:59</Imsaak> <Fajr>05:09</Fajr> <Sunrise>06:23</Sunrise> <Dhuhr>12:39</Dhuhr> <Asr>16:12&l

我有以下XML代码:

<?xml version="1.0"?>
<Days>
  <day value="1">
    <Imsaak>04:59</Imsaak>
    <Fajr>05:09</Fajr>
    <Sunrise>06:23</Sunrise>
    <Dhuhr>12:39</Dhuhr>
    <Asr>16:12</Asr>
    <Sunset>18:55</Sunset>
    <Maghrib>19:10</Maghrib>
    <Isha>20:04</Isha>
  </day>
  <day value="2">
    <Imsaak>04:58</Imsaak>
    <Fajr>05:08</Fajr>
    <Sunrise>06:22</Sunrise>
    <Dhuhr>12:39</Dhuhr>
    <Asr>16:12</Asr>
    <Sunset>18:56</Sunset>
    <Maghrib>19:11</Maghrib>
    <Isha>20:05</Isha>
  </day>
</Days>
当然,你可以这样循环一整天:

foreach($sml->day as $day){
     $day->attribute()->value; //will trace out 1 and then 2
}
从php手册的一点点编辑

考虑到这些数据:

<?xml version="1.0" encoding="utf-8"?>
<data>
   <item ID="30001">
      <Company>Navarro Corp.</Company>
   </item>
   <item ID="30002">
      <Company>Performant Systems</Company>
   </item>
   <item ID="30003">
      <Company>Digital Showcase</Company>
   </item>
</data>
列出ID属性和公司元素值的示例:

<?php
$xmlObject = new SimpleXMLElement($xmlstring);
foreach ($xmlObject->children() as $node) {
        $arr = $node->attributes();   // returns an array
        if(in_array("30002", $arr)){     // search the value of an attribute
            print ("Company=".$node->Company);
        }
        //depending of your needs, you could use a switch / case instead of use an if

}
?>

请出示你到现在为止写的东西?
<?xml version="1.0" encoding="utf-8"?>
<data>
   <item ID="30001">
      <Company>Navarro Corp.</Company>
   </item>
   <item ID="30002">
      <Company>Performant Systems</Company>
   </item>
   <item ID="30003">
      <Company>Digital Showcase</Company>
   </item>
</data>
<?php
$xmlObject = new SimpleXMLElement($xmlstring);
foreach ($xmlObject->children() as $node) {
        $arr = $node->attributes();   // returns an array
        if(in_array("30002", $arr)){     // search the value of an attribute
            print ("Company=".$node->Company);
        }
        //depending of your needs, you could use a switch / case instead of use an if

}
?>