让我先说我不熟悉解析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