【问题标题】:Adding a child of a child gives a 500 error添加一个孩子的孩子会产生 500 错误
【发布时间】:2022-01-18 13:56:16
【问题描述】:

一切正常,有点!

我可以添加一个子节点并保存 XML 好。 然后我可以在上面添加一个子节点并再次保存它。

我的问题是,当我添加一个子节点,然后尝试将一个子节点添加到第一个子节点时,我收到 500 错误!

我确定我错过了什么,但看不到哪里。

$customerPath = $xml->xpath('//customers//customer[@name="'.$customerName.'"]');
if ( !$customerPath ) {
    $customerAdd = $xml->customers->addChild('customer');
    $customerAdd->addAttribute('name', $customerName);      
}


// CHECK IF HOST EXISTS

$hostPath = $xml->xpath('//customers//customer[@name="'.$customerName.'"]//host[@name="'.$hostName.'"]');
if ( !$hostPath ) {
    $hostAdd = $customerPath->addChild('host');
    $hostAdd->addAttribute('name', $hostName);        
}

【问题讨论】:

  • 你得到的具体错误是什么,500 只是表示服务器遇到了错误,但没有告诉我们错误是什么。仅查看您的代码,我就能想到的一件事是,如果 $customerPath 最初不存在,则您实际上从未设置它,这意味着您的第二个 if 语句将失败 b/c $customerPath 将是 @987654325 @.
  • 谢谢,响应调用 an,当我尝试将数组变量添加到主 XML 时,这搞砸了

标签: php xml


【解决方案1】:

响应是数组而不是字符串的问题。

【讨论】:

  • 这应该是一个评论而不是一个简单的答案。
猜你喜欢
  • 2011-08-25
  • 2015-01-07
  • 2021-08-01
  • 2016-11-30
  • 2013-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
相关资源
最近更新 更多