日期:2014-05-17  浏览次数:20454 次

怎么连接MYSQL数据库生成XML文档
createxml.php文档:
<? 
$conn =mysql_connect('localhost', 'root', '12345678') or die('Could not connect: ' . mysql_error());
  mysql_select_db('school', $conn);
$str = "SELECT Sno,Sname,Ssex,Birthday,Class FROM student"; 
$result = mysql_query($str) or die("Invalid query: " . mysql_error()); 
if($result) 

  $xmlDoc = new DOMDocument(); 
  if(!file_exists("student.xml")){ 
  $xmlstr = "<?xml version='1.0' encoding='utf-8' ?><STUDENT></STUDENT>"; 
  $xmlDoc->loadXML($xmlstr); 
  $xmlDoc->save("student.xml"); 
  }else {
unlink("student.xml");
$xmlDoc->load("student.xml");} 
  $Root = $xmlDoc->documentElement; 
mysql_query("set names gb2312");
$result=mysql_query("SELECT Sno,Sname,Ssex,Birthday,Class FROM student");
while ($arr = mysql_fetch_array($result)){ 
$node1 = $xmlDoc->createElement("NO"); 
  $text1 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["Sno"])); 
  $node1->appendChild($text1); 
  $node2 = $xmlDoc->createElement("NAME"); 
  $text2 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["Sname"])); 
  $node2->appendChild($text2); 
$node3 = $xmlDoc->createElement("SEX"); 
  $text3 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["Ssex"])); 
  $node3->appendChild($text3); 
$node4 = $xmlDoc->createElement("BIRTHDAY"); 
  $text4 = $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["Birthday"])); 
  $node4->appendChild($text4); 
$node5= $xmlDoc->createElement("CLASS"); 
  $text5= $xmlDoc->createTextNode(iconv("GB2312","UTF-8",$arr["Class"]));
$node5->appendChild($text5); 
  $Root->appendChild($node1); 
  $Root->appendChild($node2);
$Root->appendChild($node3); 
$Root->appendChild($node4); 
$Root->appendChild($node5);
$xmlDoc->save("student.xml"); 


echo "student数据表生成student.xml文件成功!";

mysql_close($conn); 
?>

生成的student.xml内容是:
<?xml version="1.0" encoding="utf-8"?>
<STUDENT>
<NO>103</NO>
<NAME>李勇</NAME>
<SEX>1</SEX>
<BIRTHDAY>1982-03-04</BIRTHDAY>
<CLASS>95031</CLASS>
<NO>105</NO>
<NAME>刘晨</NAME>
<SEX>0</SEX>
<BIRTHDAY>1983-05-08</BIRTHDAY>
<CLASS>95031</CLASS>
</STUDENT>

想请问一下怎么改createxml.php使生成的student.xml的内容如下:
<?xml version="1.0" encoding="utf-8"?>
<STUDENT>
<PERSON>
<NO>103</NO>
<NAME>李勇</NAME>
<SEX>男</SEX>
<BIRTHDAY>1982-03-04</BIRTHDAY>
<CLASS>95031</CLASS>
</PERSON>
<PERSON>
<NO>105</NO>
<NAME>刘晨</NAME>
<SEX>女</SEX>
<BIRTHDAY>1983-05-08</BIRTHDAY>
<CLASS>95031</CLASS>
</PERSON>
</STUDENT>