9

特定の ID の後のリクエストから単純な xml コンテンツを取得します。ただし、ID が使用できなくなり、XML が空になる場合があります。

XMLが空かどうかをPHPで確認するにはどうすればよいですか?

誰かがアイデアを持っているなら、彼が私を助けてくれれば幸いです。

前もって感謝します。

マルコ

4

5 に答える 5

13

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

于 2012-10-10T12:29:39.787 に答える
8

ドキュメント全体が空の場合、ドキュメントの文字列バージョンが空であるかどうかを次のように確認できます。

if (empty($xmlString)) 
{
    // is empty 
}

ただし、ルート ノードが必要な場合は、子ノードがあるかどうかを確認する必要がある場合があります。

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

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

それが役立つことを願っています。

于 2012-10-10T12:26:46.620 に答える
2

ID の前に (string) を使用するだけで機能します。例:- コードは次のようになります $id = $xml->mail->id;

次に、このようにします $id = (string)$xml->mail->id;

それが動作します

于 2014-01-21T07:36:48.597 に答える
1

これを試して:

$xml_str = '<?xml version="1.0" standalone="yes"?><Name/>';
$xml = new SimpleXMLElement($xml_str);

if(empty($xml->Name[0])){
    // ITS EMPTY !! DO SOMETHING
    echo "ITS EMPTY ASJK";
}
于 2019-04-29T06:47:20.670 に答える