SimpleXML 可能不是解析带有包含冒号的标签名称的 XML 的最合适选择。让我们探索处理此类场景的替代 PHP 库。
DOMDocument 是一个面向对象的 XML 解析器,它提供 XML 文档的分层表示。它允许您导航和操作 XML 树。下面是一个示例:
$dom = new DOMDocument(); $dom->loadXML('<xhtml:div><xhtml:em>italic</xhtml:em><date>2010-02-01 06:00</date></xhtml:div>'); $em = $dom->getElementsByTagNameNS('http://www.w3.org/1999/xhtml', 'em')->item(0); $date = $dom->getElementsByTagName('date')->item(0); echo $em->textContent; // Output: italic echo $date->textContent; // Output: 2010-02-01 06:00
XMLReader 是一个基于事件的 XML 解析器,它在解析 XML 文档时提供事件流。您可以根据元素的命名空间和本地名称来访问元素。例如:
$reader = new XMLReader(); $reader->open('<xhtml:div><xhtml:em>italic</xhtml:em><date>2010-02-01 06:00</date></xhtml:div>'); while ($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT) { if ($reader->namespaceURI == 'http://www.w3.org/1999/xhtml') { $em = $reader->readString(); $date = $reader->readString(); } } } echo $em; // Output: italic echo $date; // Output: 2010-02-01 06:00
以上是如何在 PHP 中解析带有冒号的 XML 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!