【发布时间】:2014-12-04 05:52:14
【问题描述】:
我正在尝试在 PHP 中创建一个 Web 服务,以便应用程序与之通信,该服务将从数据库中获取数据并将其转换为应用程序的 XML 格式。但是,其中一列包含 HTML,需要作为 CDATA 输出(我认为)。我很难做到这一点。请指教
<?php
mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME);
$sql = "SELECT post_date_gmt, post_content, post_title FROM [schema].wp_posts WHERE post_status = \"publish\" && post_type = \"post\" ORDER BY post_date_gmt DESC;";
$res = mysql_query($sql);
$xml = new XMLWriter();
$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);
$xml->startElement('BlogPosts');
while ($row = mysql_fetch_assoc($res)) {
$xml->startElement("Post");
$xml->startElement("PostDate");
$xml->writeRaw($row['post_date_gmt']);
$xml->endElement();
$xml->startElement("PostTitle");
$xml->$writeRaw($row['post_title']);
$xml->endElement();
$xml->startCData("PostContent");
$xml->writeCData($row['post_content']);
$xml->endCData();
$xml->endElement();
}
$xml->endElement();
header('Content-type: text/xml');
$xml->flush();
?>
非常感谢您提供的任何帮助!
【问题讨论】:
-
$xml->$writeRaw- 第二个“$”很可能出错? -
老实说,我从上周四开始一直在尝试使用 JSON 编码,并且在尝试解析它时再次创建它时遇到了麻烦。我对 XML 感觉更舒服,所以我只是回到它,直到我可以掌握 NSJSONSerializer 并编写代码来制作无警告的 JSON。