Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在阅读`<;中的文本;![CDATA[…]]>;`使用simplexmlement_Php_Xml_Simplexml_Cdata - Fatal编程技术网

Php 正在阅读`<;中的文本;![CDATA[…]]>;`使用simplexmlement

Php 正在阅读`<;中的文本;![CDATA[…]]>;`使用simplexmlement,php,xml,simplexml,cdata,Php,Xml,Simplexml,Cdata,我正在用PHP中的simplexmlement导入RSS提要。我在标题和描述方面遇到了问题。出于某种原因,我获取提要的网站将标题和描述放在中: …网址。。。 …日期。。。 链接 当我在SimpleXMLElement上执行var\u dump()时,我得到(对于这部分): [2]=> 对象(SimpleXMLElement)#5(5){ [“标题”]=> 对象(SimpleXMLElement)#18(0){ } [“链接”]=> 字符串(95)“…链接…” [“说明”]=> 对象(Simp

我正在用PHP中的
simplexmlement
导入RSS提要。我在标题和描述方面遇到了问题。出于某种原因,我获取提要的网站将标题和描述放在
中:


…网址。。。
…日期。。。
链接
当我在SimpleXMLElement上执行
var\u dump()
时,我得到(对于这部分):

[2]=>
对象(SimpleXMLElement)#5(5){
[“标题”]=>
对象(SimpleXMLElement)#18(0){
}
[“链接”]=>
字符串(95)“…链接…”
[“说明”]=>
对象(SimpleXMLElement)#19(0){
}
[“发布日期”]=>
字符串(31)“…日期…”
[“guid”]=>
字符串(48)“…链接…”
}

如何获取
中的值以从提要中读取标题和描述?

SimpleXML读取CDATA节点非常好。您遇到的唯一问题是,
print\u r
var\u dump
,以及类似的函数不能准确表示SimpleXML对象,因为它们没有在PHP中完全实现

如果运行
echo$myNode->description
,您将看到CDATA部分的内容。原因是,当您要求将SimpleXMLElement转换为字符串时,它会自动为您组合所有文本和CDATA内容,但在您这样做之前,它会记住区别

一般情况下,要提取SimpleXML中任何元素或属性的字符串内容,请使用
(string)$myNode
转换为字符串。这还可以防止其他问题,例如函数在需要字符串时抱怨获取对象,或者在保存到会话时未能序列化

另请参见我先前的回答