我注意到在包含这些CDATA标记的文档上使用 SimpleXMLElement 时,内容始终为 NULL . 我该如何解决?
SimpleXMLElement
NULL
另外,抱歉在这里发布有关XML的垃圾邮件 . 我一直试图让基于XML的脚本现在工作几个小时......
<content><![CDATA[Hello, world!]]></content>
如果您搜索“SimpleXMLElement cdata”,我尝试了第一次点击谷歌,但这不起作用 .
您可能无法正确访问它 . 您可以直接输出或将其转换为字符串 . (在这个例子中,铸造是多余的,因为无论如何回声自动完成)
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' ); echo (string) $content; // or with parent element: $foo = simplexml_load_string( '<foo><content><![CDATA[Hello, world!]]></content></foo>' ); echo (string) $foo->content;
你可能会有更好的运气 LIBXML_NOCDATA :
LIBXML_NOCDATA
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA );
LIBXML_NOCDATA 是 simplexml_load_file() 函数的可选第三个参数 . 这将返回XML对象,并将所有CDATA数据转换为字符串 .
simplexml_load_file()
$xml = simplexml_load_file($this->filename, 'SimpleXMLElement', LIBXML_NOCDATA); echo "<pre>"; print_r($xml); echo "</pre>";
Fix CDATA in SimpleXML
这对我有用:
echo trim($entry->title);
这对我来说非常合适 .
$content = simplexml_load_string( $raw_xml , null , LIBXML_NOCDATA );
4 回答
您可能无法正确访问它 . 您可以直接输出或将其转换为字符串 . (在这个例子中,铸造是多余的,因为无论如何回声自动完成)
你可能会有更好的运气
LIBXML_NOCDATA
:LIBXML_NOCDATA
是simplexml_load_file()
函数的可选第三个参数 . 这将返回XML对象,并将所有CDATA数据转换为字符串 .Fix CDATA in SimpleXML
这对我有用:
这对我来说非常合适 .