在串联变量上使用addChild时,PHP SimpleXML出现致命错误
我试图在串联变量上使用addChild函数,但它似乎不起作用。我想它来自于论点的对象类型,但我似乎无法指出它。 当我尝试使用标准变量时,它可以工作:在串联变量上使用addChild时,PHP SimpleXML出现致命错误,php,xml,simplexml,addchild,Php,Xml,Simplexml,Addchild,我试图在串联变量上使用addChild函数,但它似乎不起作用。我想它来自于论点的对象类型,但我似乎无法指出它。 当我尝试使用标准变量时,它可以工作: $prnp = $ndprofileASz2tnrap_portrestrictions->addChild('portRestriction'); 但当我尝试使用多个变量时,会出现一个错误: $asversion = 'z2tnrap'; $nppr = '$ndprofileAS'.$asversion.'_portrestrictio
$prnp = $ndprofileASz2tnrap_portrestrictions->addChild('portRestriction');
但当我尝试使用多个变量时,会出现一个错误:
$asversion = 'z2tnrap';
$nppr = '$ndprofileAS'.$asversion.'_portrestrictions';
$prnp = $nppr->addChild('portRestriction');
如果我“echo”了$nppr变量,我会得到正确的变量,但是addChild函数会导致错误消息:“致命错误:对非对象调用成员函数addChild()
谢谢您的帮助。
$nppr
此时将只是一个字符串。它不再是simplexml对象了。此外,您的语法也不正确:
$nppr = '$ndprofileAS'.$asversion.'_portrestrictions';
^- ^-
单引号字符串中的变量不进行插值。您正在插入一个literal
$
、一个literaln
、一个literald
,等等。。在strin中,而不是$ndprofileAS变量的值。谢谢,那么,有没有办法将此变量解释为Simplexml对象(同时保持多个变量的串联)?我不知道您的代码实际要完成什么,或者您是如何得到该片段的,所以。。不对不起,我帮不了你。我从一个表单中得到了“asversion”,它决定了我要在哪里添加子节点。我已经创建了主节点($ndprofileASz2tnrap_portrestrictions和其他节点),但在“if”条件下列出所有这些节点将花费很长时间(而且非常讨厌),因此我将常量部分与特定名称连接起来。有没有办法在SimpleXML元素中解析该字符串?