使用 PHP 访问 XML 中 CDATA 内的标签
我很困惑。如何访问 CDATA 内的标签?
XML 代码:
<body>
<block>
<![CDATA[
<font color="#FFCC53" size="+6"><b>Latest News Updates</b></font>
<font color="#AAAAAA">HTML Formatted Text Fields</font>
]]>
</block>
</body>
PHP 代码:
<?php
$xml = simplexml_load_file("main.xml");
print ( $xml->smallTextList[0]->item[0]->textBody[0]->font[0] ) ;
?>
我正在使用这个,但我得到一个空白屏幕......
I am confused. How can I access tags inside CDATA?
XML Code:
<body>
<block>
<![CDATA[
<font color="#FFCC53" size="+6"><b>Latest News Updates</b></font>
<font color="#AAAAAA">HTML Formatted Text Fields</font>
]]>
</block>
</body>
PHP Code:
<?php
$xml = simplexml_load_file("main.xml");
print ( $xml->smallTextList[0]->item[0]->textBody[0]->font[0] ) ;
?>
I am using this, but I am getting a blank screen....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的问题是您的字体标签位于 CDATA 的内部。由于 CDATA 代表“编译数据”,PHP 应该将其视为“未解析数据块”。它不应该(也不能)让您将它们读取为标签。您可能必须这样做:
当然,您的问题是 CDATA 会让其中的内容不是有效的 XML,例如
<
或>
,但这似乎是你最好的选择......Your problem is that your font tags are inside of CDATA. Since CDATA stands for "Compiled Data", PHP should treat it as a "block of non-parsed data." It should not (and cannot) let you read those as tags. You'll probably have to do something like:
Your problem, of course, is that CDATA will let things in which are not valid XML, like
<
or>
, but this seems to be your best option...