讓我先說我不熟悉解析XML和/或編寫PHP。我一直在研究和拼湊事情,因爲我正在做的事情,但我被卡住了。用PHP的SimpleXML檢測空的XML節點
我試圖創建一個基本的if/else語句:如果節點不是空的,寫入節點的內容。
這裏是我打電話了XML的一個片段:
<channel>
<item>
<title>This is a test</title>
<link />
<description>Test description</description>
<category>Test category</category>
<guid />
</item>
</channel>
和這裏的PHP我到目前爲止:
<?php
$alerts = simplexml_load_file('example.xml');
$guid = $alerts->channel->item->guid;
if ($guid->count() == 0) {
print "// No alert";
}
else {
echo "<div class='emergency-alert'>".$guid."</div>";
}
?>
顯然,「GUID」是一個空節點,但它的返回:
<div class="emergency-alert"> </div>
我在做什麼錯? :(
PS的,我已經試過hasChildren(),以及沒有任何工作
試過'if(count($ guid)== 0)'? – 2014-10-30 17:36:10
剛剛做過 - 它返回相同的東西。 – 2014-10-30 18:31:33
這就是爲什麼XML很糟糕。空可以是空對象,空字符串或空列表,它們都表示爲' '。儘可能避免它。 –
Rudie
2014-11-01 18:36:39