我正在阅读XML文件结构:
XML:
<?xml version="1.0" encoding="utf-8" ?>
<datafiles>
<datafile>aida_rtd_call1.xml</datafile>
<datafile>aida_rtd_callback.xml</datafile>
</datafiles>
我希望能够遍历每个datafile元素,获取值并将其传递给方法。以下是我到目前为止的情况:
PHP:
$xml=simplexml_load_file("conf/DataFiles.xml");
//TODO: Count how many items
$count = 0;
for ($x = 0; $x <= $count; $x++) {
$xmlItem=$xml->datafile[$x];
$fileName = "xml/";
$fileName .= $xmlItem;
prepareFile($fileName);
}
我正在努力弄清楚如何计算数据文件的数量。使用我的XML文件结构,我需要它来计算两个数据文件并在for循环中使用它们。任何想法如何做到这一点?
我是PHP的新手,所以这可能不是最好的方法。
答案 0 :(得分:1)
只需使用PHP的本机count
函数即可获得SimpleXML子节点的数量:
echo count($xml->datafile);
// 2
在这种情况下,不是使用for
循环和计数,而是使用foreach
循环更有意义:
foreach ($xml->datafile as $xmlItem) {
$fileName = "xml/";
$fileName .= $xmlItem;
...
}
有关快速示例,请参阅https://eval.in/951668
答案 1 :(得分:0)
$xml->children()->datafile->count()
但正如评论中所建议的那样:
foreach ($xml->children()->datafile as $element) {
var_dump($element);
}
更有意义