[英]how to fix this error XML Parsing Error: not well-formed
我在WordPress上使用PHP和MYSQL,試圖在Google網站上使用存儲在MYSQL數據庫中的標記向自己的網站添加Google地圖。
我試圖使用$ wpdb類並使用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();
?>
屬性名稱中永遠不能有空格,這就是為什么會出現錯誤。
在這一行:
$newnode->setAttribute("site id", $row['siteID']);
像這樣更改它:
$newnode->setAttribute("site_id", $row['siteID']);
要么:
$newnode->setAttribute("siteId", $row['siteID']);
更正后的代碼可以是:
<?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", $result['siteID']);
$newnode->setAttribute("lat", $result['latitude']);
$newnode->setAttribute("lng", $result['longitude']);
}
echo $dom->saveXML();
?>
<?php
get_footer();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.