首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

如何连接MYSQL数据库生成XML文档

2012-02-09 
怎么连接MYSQL数据库生成XML文档createxml.php文档:?$conn mysql_connect(localhost, root, 123456

怎么连接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>

谢谢!!!

------解决方案--------------------


这样应该可以了~

PHP code
<?php$conn =mysql_connect('localhost', 'root', '12345678') or die('Could not connect: ' . mysql_error());  mysql_select_db('test', $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)){  $node = $xmlDoc->createElement("PERSON");$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);$node->appendChild($node1);$node->appendChild($node2);$node->appendChild($node3);$node->appendChild($node4);$node->appendChild($node5);$Root->appendChild($node);$xmlDoc->save("student.xml");  }  echo "student数据表生成student.xml文件成功!";}  mysql_close($conn);  ?> 

热点排行