使用 SimpleXML 通过命名空间解析 XML
XML 命名空间通常用于定义 XML 文档中的不同部分。要使用 SimpleXML 解析带有命名空间的 XML,请考虑以下方法:
带有命名空间的 XML 文档:
给定一个带有命名空间的 XML 文档:
<root xmlns:event="http://www.webex.com/schemas/2002/06/service/event"> <event:event> <event:sessionKey></event:sessionKey> <event:sessionName>Learn QB in Minutes</event:sessionName> <event:sessionType>9</event:sessionType> <event:hostWebExID></event:hostWebExID> <event:startDate>02/12/2009</event:startDate> <event:endDate>02/12/2009</event:endDate> <event:timeZoneID>11</event:timeZoneID> <event:duration>30</event:duration> <event:description></event:description> <event:status>NOT_INPROGRESS</event:status> <event:panelists></event:panelists> <event:listStatus>PUBLIC</event:listStatus> </event:event> ... </root>
简化解析方法:
要循环访问 event:event 节点而不注册命名空间,您可以在 XPath 查询中使用完整的命名空间前缀:
$xml = new SimpleXMLElement($xmlString); foreach ($xml->xpath('//event:event') as $event) { var_export($event->xpath('event:sessionKey')); }
以上是如何使用 SimpleXML 的 XPath 解析带有命名空间的 XML?的详细内容。更多信息请关注PHP中文网其他相关文章!