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

Art*_*ler 5 php xml

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

如果xml为空,我如何检查PHP?

如果有人有想法我会很感激,如果他可以帮助我.

提前致谢.

马尔科

Sly*_*han 7

如果您可以使用SimpleXML扩展:

$xmlObject = new SimpleXMLElement($xmlText);
if ($xmlObject->count() == 0) {
    //it's empty
}
else {
    //XML object has children
}
Run Code Online (Sandbox Code Playgroud)

此外,SimpleXML是一个非常方便的XML阅读器/编辑器.

详情:http://ua2.php.net/manual/en/book.simplexml.php


Sol*_*Sol 6

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

if (empty($xmlString)) 
{
    // is empty 
}
Run Code Online (Sandbox Code Playgroud)

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

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

if (empty($xml->getName()) && count($xml->children()) == 0) { 
    // is empty
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.