php如何提取xml里面的CDATA的内容?

我用php的expat来解析xml的,但解析到CDATA时报错(即说<![CDATA[处),说是无效字符,不知为啥请大侠指点下。有点急!高分相送xml文件如下:<?xml... 我用php的expat来解析xml的,但解析到CDATA时 报错(即说 <![CDATA[ 处),说是无效字符,不知为啥
请大侠指点下。
有点急!高分相送

xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<Script>
<ID>25341</ID>
<BID></BID>
<ScriptFile>gentoo_GLSA-200705-20.nasl</ScriptFile>
<Version>1.1</Version>
<CVEID>CVE-2006-6731 CVE-2006-6736 CVE-2006-6737 CVE-2006-6745</CVEID>
<XRef>
<Name>GLSA</Name>
<Value>200705-20</Value>
</XRef>
<Name>
<![CDATA[
[GLSA-200705-20] Blackdown Java: Applet权限提升
]]>
</Name>
<Summary>
<![CDATA[
Blackdown Java: Applet权限提升
]]>
</Summary>
<Description>
<![CDATA[
远程主机存在在GLSA-200705-20中描述的漏洞。
影响:攻击者可以诱使用户运行特别构造的Java小应用程序或者应用程序,这可能使拥有运行JVM,访问数据保存在其他Java小应用程序,或者提升当前运行的Java小应用程序或者应用程序的权限考虑到未授权存取的用户可以读写或执行本地文件。
临时解决方案:目前没有临时解决方案。
参考:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6731
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6736
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6737
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6745
]]>
</Description>
<Risk>中</Risk>
<CVSS></CVSS>
<Solution>
<![CDATA[
由于现在从Blackdown没有修复升级包且这个漏洞只发生在小应用程序中,"nsplugin"USE标志在portage tree中被标记。
- emerge --sync
- emerge --ask --oneshot --verbose ">=dev-lang/php-4.4.7"
]]>
</Solution>
<Family>19</Family>
<Dependencies>
<ID>12634</ID><File>ssh_get_info.nasl</File>
</Dependencies>
<RequirePort>
<Name></Name>
<Value></Value>
</RequirePort>
</Script>
展开
 我来答
ustbduanhang
2009-07-15 · TA获得超过1896个赞
知道大有可为答主
回答量:2587
采纳率:0%
帮助的人:1793万
展开全部
$dom=new DOMDocument;
$dom->loadXML($mapabcXML);
$s=simplexml_import_dom($dom);
for($i=0;$i<$datalen;$i++){ if(!empty($s->poi[$i]->x)||!empty($s->poi[$i]->y)){
}
}

首先把你的这个xml当一个字符串,进行一次替换,把<?xml version="1.0" encoding="UTF-8" ?>
替换为空,只留下其它标签。然后就可以通过loadXML载入成一个dom对象了,然后你调用属性吧。记住用loadXML较简单。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜欢选择的
2009-07-15 · TA获得超过367个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:344万
展开全部
并不是CDATE有问题, 而是遇到不认识的非法utf8编码了

头文件是encoding="UTF-8" 但是字符又是GBK的。

把第一行改成<?xml version="1.0" encoding="GBK" ?>就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舜杰虞人
2009-07-18
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
你可以尝试用simpleXml 来解析这个文件,那个比EXpat要简单的多。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式