在 PHP 中使用 SimpleXMLElement 处理 CDATA
处理由 SimpleXMLElement 解析的 XML 文档中的 CDATA 标记时,提取内容可能具有挑战性。默认情况下,通过 ->content 访问包含 CDATA 部分的节点将返回 NULL。
解决方案 1:直接输出或转换
要检索 CDATA 内容,您可以直接输出它或将其转换为字符串。这两种方法都可以有效地将 CDATA 转换为有效的 PHP 字符串:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' ); echo (string) $content; // Output: 'Hello, world!'
解决方案 2:LIBXML_NOCDATA
或者,您可以在解析期间指定 LIBXML_NOCDATA 选项以忽略所有内容CDATA 部分并将它们视为常规文本节点:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA ); echo (string) $content; // Output: 'Hello, world!'
通过这些方法,您可以使用 SimpleXMLElement 成功处理 XML 文档中的 CDATA,从而为您提供对其内容的访问。
以上是如何在 PHP 中使用 SimpleXMLElement 提取 CDATA 内容?的详细内容。更多信息请关注PHP中文网其他相关文章!