我有xml文件$file.xml
,其中包含以下内容
<?xml version="1.0"?>
<names><name>name1</name><name>name2</name><name>name3</name></names>
我需要一种方法来检查<names>
是否有多个子<name>
,这意味着如果文件超过<name>name1</name>
,则意味着如果存在<name>name2</name>
或更多调用函数。
我试过以下
$file = "file.xml";
$result = file_get_contents($file);
if(@count(file($result)) > 1) {
//perform a function
}
file_get_contents
已经为我提供了值name1
name2
和name3
但if(@count(file($result)) > 1) {
没有做任何事情
提前致谢
答案 0 :(得分:2)
是的,很可能,你可以结合这种情况使用xpath:
$file = "file.xml";
$xml = simplexml_load_file($file);
$names = $xml->xpath('/names/name');
if(count($names) > 1) {
//perform a function
echo 'perform!';
}
或者使用带有xpath的DOMDocument
的替代方案:
$dom = new DOMDocument();
$dom->load($file);
$count = $xpath->evaluate('count(/names/name)');
if($count > 1) {
echo 'perform!';
}