【问题标题】:Using XML node names with hyphens in PHP [duplicate]在 PHP 中使用带有连字符的 XML 节点名称 [重复]
【发布时间】:2011-04-07 18:27:43
【问题描述】:

我正在尝试从 XML 中提取一些数据,但是当我执行以下操作时,我得到了一个

警告:为...中的 foreach() 提供的参数无效

代码示例:

foreach ($xml->custom-field-value as $milestone)
{
    ...     
}

它适用于单个单词的节点名称,所以我猜它不喜欢连字符。我需要逃避它们吗?如果需要,怎么办?

【问题讨论】:

  • 你在第二个print中已经做对了
  • Gordon - 不确定“sheepish grin”的笑脸是什么,但我现在应该使用它!谢谢

标签: simplexml php


【解决方案1】:

来自 PHP manual:

访问 XML 文档中包含 PHP 命名约定不允许的字符(例如连字符)的元素可以通过将元素名称封装在大括号和撇号中来完成。

在你的情况下,你这样做:

$xml->{'custom-field-value'}

【讨论】:

  • 这可能被标记为重复的问题,但我发现这个 Q/A 组合比“原始”更有用,因为它与我的问题有关。
  • 2020 年来到这里说同样的话。这篇文章在我的搜索中显示为第一个结果。
猜你喜欢
  • 1970-01-01
  • 2017-10-10
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多