【发布时间】:2017-03-01 06:53:04
【问题描述】:
我在 WordPress 上使用 PHP 和 MYSQL,我试图将 Google 地图添加到我的网站,并带有存储在 MYSQL 数据库中的标记。
我正在尝试使用 $wpdb class 和 DOM 检索所选数据。
但系统显示此错误:
XML Parsing Error: not well-formed
Location: http://127.0.0.1/wordpress/?page_id=105&preview=true
Line Number 13, Column 15: if ( query && query.indexOf( 'preview=true' ) !== -1 ) {
----------------------------^
我的代码中的错误在哪里? 我不明白如何修复这个 XML 错误。
代码:
<?php
/*
Template Name: MAP2
*/
get_header();
?>
<?php
global $wpdb;
// Get parameters from URL
$center_lat = $_GET["lat"];
$center_lng = $_GET["lng"];
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Search the rows in the site_coordinates table
$query = $wpdb->get_results("select * from site_coordinates");
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
foreach ($query as $result){
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("site id", $row['siteID']);
$newnode->setAttribute("lat", $row['latitude']);
$newnode->setAttribute("lng", $row['longitude']);
}
echo $dom->saveXML();
?>
<?php
get_footer();
?>
【问题讨论】:
-
不管怎样,你能看到你在这里创建的XML结构吗?你能打印出来吗?并在这里显示
-
@Rupal 不,当我尝试运行显示所描述错误的代码时,我无法看到创建的 XML
-
试试 $dom->loadXML('
');就在 echo $dom->saveXML(); 之前让我们在这里知道发生了什么 -
我添加了这一行但仍然是同样的错误
-
现在改错了
XML Parsing Error: undefined entity Location: http://127.0.0.1/wordpress/index.php/locations3/ Line Number 13, Column 1:<link rel="alternate" type="application/rss+xml" title="Lebanon Sites &raquo; Feed" href="http://127.0.0.1/wordpress/index.php/feed/" /> ^
标签: php mysql xml wordpress error-handling