본문 바로가기
MySql

MySQL php parse xml-error : StartTag : invalid element name

by 베이스 공부 2020. 10. 3.
반응형

PHP의 SQL 쿼리에서 XML로 데이터를 가져 오는 데 심각한 문제가 있습니다. 항상 오류가 발생합니다 : StartTag : invalid element name. 시작 요소는 숫자입니다 , 그게 중요한지 모르겠어요?!?

아마 너희들이 나를 도울 수있을 것이다 !!

PHP :

$query = "SELECT r.object_id,
t.term_taxonomy_id,
t.term_id,
t.taxonomy,
t.description,
p.post_date_gmt,
p.post_content,
p.post_title,
p.post_excerpt 
FROM wp_posts p,
wp_term_taxonomy t,
wp_term_relationships r
WHERE r.object_id= p.id
AND t.term_taxonomy_id = r.term_taxonomy_id
AND p.post_status = 'publish'
AND p.post_type = 'post'
AND to_days(p.post_date_gmt) >= to_days(now()) - 120
ORDER BY p.post_date DESC";


// DB Connect

$connection = mysql_connect($server, $user, $password);
mysql_select_db($dbName, $connection);
$res = mysql_query($query);

// XML Output

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<standing version="1.0">';
while ($row = mysql_fetch_assoc($res)){
    $xml .= '
    <'.$row['object_id'].'>
      <term_taxonomy>'.$row['taxonomy'].'</term_taxonomy>
      <description>'.$row['description'].'</description>
      <post_date>'.$row['post_date_gmt'].'</post_date>
      <post_content>'.$row['post_content'].'</post_content>
      <post_title>'.$row['post_title'].'</pst_title>
      <post_exerpt>'.$row['post_exerpt'].'</post_exerpt>
    </'.$row['object_id'].'>
    ';
}
$xml.= '</standing>';


// Write to file

$file = 'News.xml'; 
if(is_file($file)) unlink($file);
$fp = fopen($file, "w+");
fwrite($fp, $xml);
fclose($fp);
mysql_close ($connection);
?>

 

해결 방법

 

XML 태그 이름은 숫자가 될 수 없습니다. 대신 시도하십시오.

'<object id="' . $row['object_id'] . '">

 

참조 페이지 https://stackoverflow.com/questions/6588888

 

 

반응형

댓글