【问题标题】:Why SimpleXML doesn't recognise fields with为什么 SimpleXML 不能识别字段
【发布时间】:2015-05-31 20:45:32
【问题描述】:

我正在使用 Simple XML 解析 XML,但有一个名称看起来不理解,例如

XML

<item>
         <art_id>34759</art_id>
         <kind>Car</kind>
         <tics.item.dimension>215/55 R 16</tics.item.dimension>
      </item>

简单的 XML 命令

echo $item->art_id; // works
echo $item->tics.item.dimension; // does not work, it shows "itemdimension" but there is value so it should show the value

我必须做些什么来向 simpexml 解释 .是否进入 XML 的命名空间?我认为这是问题所在......

提前致谢

【问题讨论】:

  • 为什么你没有接受我的回答。读者会怀疑它是否正确:))
  • 是的,我昨天不能,因为 stackoverflow 太早了 ;-)
  • 没问题 :) 我问的时候记得

标签: php xml simplexml


【解决方案1】:

只需使用:

$item->{'tics.item.dimension'}

我迟到了你的编辑:)

【讨论】:

  • 完美 :-) 谢谢老兄!编辑没问题,我确实理解你的解决方案:-)
  • PHP 不允许在变量名中使用.,这是连接运算符。您确实使用了动态变量名称 - 答案中的语法。
  • @ThW 仔细看看,尤其是引号
  • 评论是对你答案的解释。您正在使用动态变量名称。下面是一个更完整的语法示例:eval.in/374093
  • @ThW 感谢您的评论。我不知道未定义的 T_STRING 本身是相等的。所以,echo something; 的结果是 something。你知道这是否意味着你可以使用不带引号的单字串吗?或者它与语法不完全匹配,可能无法在下一个版本中使用?
猜你喜欢
  • 2021-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
  • 2014-10-28
  • 2011-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多