使用 PHP 的 SimpleXMLElement 处理 CDATA
使用 SimpleXMLElement 处理包含 CDATA 部分的 XML 文档时,通常会遇到以下情况: CDATA 标记返回为 NULL。这可能会导致访问和处理所需数据时遇到困难。
获取 CDATA 内容
要检索 CDATA 标签中包含的内容,有几种方法可用:
例如,给定以下 XML 片段:
<content><![CDATA[Hello, world!]]></content>
您可以访问 CDATA使用以下 PHP 代码的内容:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' ); echo (string) $content;
这将输出:
Hello, world!
替代方法:LIBXML_NOCDATA
在某些情况下,您可能会在使用默认 SimpleXMLElement 设置检索 CDATA 内容时遇到问题。要解决此问题,您可以尝试在 XML 解析期间使用 LIBXML_NOCDATA 标志:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA );
此方法会更改 XML 解析行为,将 CDATA 部分视为常规文本节点,从而允许您访问内容而无需显式转换或直接输出。
以上是如何使用 PHP 的 SimpleXMLElement 正确提取 CDATA 内容?的详细内容。更多信息请关注PHP中文网其他相关文章!