从XML节点提取布尔值的正确方法是什么?我试过这个:
<?php
$xml = "<node><code>false</code></node>";
$dom = new DOMDocument();
$dom->loadXML($xml);
$nodeList = $dom->getElementsByTagName('code');
if ($nodeList->length == 1) {
if($nodeList->item(0)->nodeValue){
echo 'VALID';
} else {
echo 'NOT VALID';
}
}
?>
但结果是我得到了
VALID
。 最佳答案
nodeValue将返回一个字符串,因此需要进行字符串比较。例如:
if($nodeList->item(0)->nodeValue != 'false'){
echo 'VALID';
} else {
echo 'NOT VALID';
}
您还可以考虑使用
filter_var($string, FILTER_VALIDATE_BOOLEAN)
将值转换为布尔值(例如,它还将“1”或“yes”转换为布尔值),具体取决于您在xml中获得的值的类型。关于php - 具有 bool 值的DOMDocument节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39747010/