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>谢谢!!!

解决方案 »

  1.   

    这样应该可以了~<?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);  
    ?>