Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php/xml测试是xml包含的元素_Php_Xml_Xml Parsing_Simplexml - Fatal编程技术网

php/xml测试是xml包含的元素

php/xml测试是xml包含的元素,php,xml,xml-parsing,simplexml,Php,Xml,Xml Parsing,Simplexml,能否测试xml文件是否具有特定元素。我在下面试过: $restrict = ($xml_content->xpath('//app:control//yt:state')); $name = $restrict[0][0]; $restrictTest = $name->attributes(); if ($restrictTest == "restricted"){ $_SESSION['array']['restricted'] = 1; } 但它会显示以下

能否测试xml文件是否具有特定元素。我在下面试过:

    $restrict = ($xml_content->xpath('//app:control//yt:state'));
$name = $restrict[0][0];

$restrictTest = $name->attributes();

if ($restrictTest == "restricted"){
    $_SESSION['array']['restricted'] = 1;
}
但它会显示以下错误:

警告:SimpleXMLElement::xpath()[SimpleXMLElement.xpath]:第178行C:\xampp\htdocs\ytm\resources\func.php中未定义的命名空间前缀

警告:SimpleXMLElement::xpath()[SimpleXMLElement.xpath]:xmlXpathVal:在第178行的C:\xampp\htdocs\ytm\resources\func.php中计算失败

致命错误:在C:\xampp\htdocs\ytm\resources\func.php的第181行对非对象调用成员函数attributes()


第一个问题是在第178行传递的名称空间。我猜
//appLcontrol//yt:state
没有定义为名称空间。您能说明
$xml\u内容是如何创建的吗?例如,这是SimpleXML吗?它还可能有助于显示您试图在其上使用xpath的XML示例部分;$xml_content=新的simplexmlement($xmlstr);好吧,我可以告诉您错误的意思,但是没有任何示例XML,我们只能猜测它发生的原因。SimpleXML中的XPath处理器不知道“app:”或“yt:”(或者两者都不知道)。而且可能是相关的。