:)让我们说我有那个代码:
<sample number="1">TEXT</sample>
但有时它可能是
<sample number"1"/>
问:如何检查它是否自行关闭?或者我想检查元素sample
中是否有TEXT
注意:我正在使用这种方式检索XML文档:
$content = @file_get_contents($url);
$xml = new SimpleXMLElement($content);
答案 0 :(得分:2)
您需要键入将元素转换为字符串,然后检查它是否为空。 这是一个简单的例子:
$test = simplexml_load_string("<test><elem test='12'><sub /><sub /></elem><elem test='12'>hi</elem><elem test='9' /><elem /></test>");
foreach($test as $elem){
echo "\n";
var_dump($elem);
if((string)$elem == '' && $elem->count() == 0)
echo 'Empty';
else
echo 'Full';
}
将返回:
object(SimpleXMLElement)#3 (2) {
["@attributes"]=>
array(1) {
["test"]=>
string(2) "12"
}
["sub"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#4 (0) {
}
[1]=>
object(SimpleXMLElement)#5 (0) {
}
}
}
Full
object(SimpleXMLElement)#5 (2) {
["@attributes"]=>
array(1) {
["test"]=>
string(2) "12"
}
[0]=>
string(2) "hi"
}
Full
object(SimpleXMLElement)#3 (1) {
["@attributes"]=>
array(1) {
["test"]=>
string(1) "9"
}
}
Empty
object(SimpleXMLElement)#5 (0) {
}
Empty