首页 >后端开发 >php教程 >如何使用 SimpleXML 解析带有命名空间的 XML,而不声明前缀?

如何使用 SimpleXML 解析带有命名空间的 XML,而不声明前缀?

Patricia Arquette
Patricia Arquette原创
2024-12-27 01:24:09636浏览

How Can I Parse XML with Namespaces Using SimpleXML Without Declaring a Prefix?

使用 SimpleXML 解析带有命名空间的 XML

在此场景中,您有一个带有 XML 命名空间的 XML 文档,并且想要使用 SimpleXML 解析它。虽然提供的示例失败,但可以使用 SimpleXML 实现所需的结果,而无需声明命名空间前缀。

解决方案:

$xml = new SimpleXMLElement($xmlContent);

foreach ($xml->xpath('//event:event') as $event) {
    var_export($event->xpath('event:sessionKey'));
}

说明:

您可以简单地将完整的命名空间前缀包含在XPath 表达式。在这种情况下,对于“event”命名空间:

  • e:event 变为 event:event
  • e:sessionKey 变为 event:sessionKey

结果:

代码现在将正确循环所有 event:event 节点和显示事件的值:sessionKey 节点。

以上是如何使用 SimpleXML 解析带有命名空间的 XML,而不声明前缀?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn