簡體   English   中英

如何解決此錯誤XML解析錯誤:格式不正確

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM