php - PHP> 如何检查XML是否为空

75 2

我从特定ID后的请求中获取简单的xml内容。 但是有时候,ID不再可用并且XML是空的。

如果xml为空,如何使用PHP进行检查?

如果某人有一个想法,我会感激他能帮助我。

先谢谢了。

时间:

100 4

如果你可以使用SimpleXML扩展:


$xmlObject = new SimpleXMLElement($xmlText);


if ($xmlObject->count() == 0) {


//it's empty


}


else {


//XML object has children


}



另外,SimpleXML是非常方便的xml阅读器/编辑器。

详细信息:http://ua2.php.net/manual/en/book.simplexml.php

原作者:
88 5

我想这取决于你的意思是空,如果整个文档是空的,你可以检查文档的字符串版本是否为空:


if (empty($xmlString)) 


{


//is empty 


}



但是,如果你期望一个根节点,你可能需要检查是否有任何子节点:


$xml = simplexml_load_file("test.xml");



if (empty($xml->getName()) && count($xml->children()) == 0) { 


//is empty


}



希望有帮助

原作者:
87 0

只要在你的id前使用( 字符串) 就可以了。 example:-的代码类似于 $id = $xml-> mail-> id ;

然后使它类似于这个 $id = (string)$xml-> mail-> id ;

它会工作

原作者:
65 5

只是将我的两分钱添加到一个旧问题,但最受好评的答案似乎建议使用 simplexml_load_file("test.xml"); 然后测试您期望的节点是否为空。 因为如果文件为空,这会抛出警告级别错误,我不同意这么做,而是用文件大小的测试包装调用。


$xmlInfo = new SplFileInfo('test.xml');


if((int) $xmlInfo->getSize()> 0)


{


 $xml = simplexml_load_file($xmlInfo->getPath()); 


}



How can I check with PHP if a xml is empty

...