日期:2014-05-16  浏览次数:20472 次

PHP 生成XML
我用这段代码生成xml
<?php
 include("conn/conn.php");
 $path = 'xml/createxml.xml';
 if(file_exists($path)) unlink($path);
 $handle = fopen($path, 'w') ;
 $xmlContent .= '<?xml version="1.0" encoding="GB2312"?>' ;  
 $xmlContent .= '<business id ="FRMXXX" comment="发票明细信息">';
 //查询所有板块
  $select1 = $_POST['select1'] ;
  $select2 =$_POST['select2'] ;
  echo  $select1 ;
  echo $select2;
  $query="select * from tb_car where car_road like '%$select1%' and car_road like '%$select2%'";
  $result=mysql_query($query);
  if(mysql_num_rows($result)>0){
  while($myrow=mysql_fetch_array($result)){  
 $xmlContent .='<group>';
 $xmlContent .='<data  name="NSRSBH" value="'.$myrow['car_number'].'"   />';
 $xmlContent .='<data  name="NSRMC"  value="'.$myrow['car_road'].'"     />' ;
 $xmlContent .='<data  name="NSRMC"  value="'.$myrow['car_content'].'"  />' ; 
 $xmlContent .='</group>';
 }
  }
 $xmlContent .='</business>';
 if($handle)
 {
  if(fwrite($handle, $xmlContent))
  {
  fclose($handle);
  }
  echo "<script> window.location.href='indexs.php?lmbs=车源信息查询&select1=$select1&select2=$select2';</script>";
 }
?>

----
为什么生成后的xml data  和 value 的位置会调换
<?xml version="1.0" encoding="GB2312"?>
-<business comment="发票明细信息" id="FRMXXX">
-<group>
<data value="吉A-78745" name="NSRSBH"/>
<data value="长春-沈阳-大连" name="NSRMC"/>
<data value="大货车,直径3.8米,后直径4.12米,长24米,载重52吨" name="NSRMC"/>
</group>
-<group>
<data value="吉A-78745" name="NSRSBH"/>
<data value="长春-沈阳-大连" name="NSRMC"/>
<data value="大货车,直径3.8米,后直径4.12米,长24米,载重52吨" name="NSRMC"/>
</group>
-<group>
<data value="NB888888" name="NSRSBH"/>
<data value="" name="NSRMC"/>
<data value="超级加长劳斯莱斯" name="NSRMC"/>
</group>
</business>
------解决方案--------------------
生成xml是这样的,你可以写dtd文件约束。
------解决方案--------------------
$xmlContent .='</business>';
echo $xmlContent;exit();试试
------解决方案--------------------
引用:
生成xml是这样的,你可以写dtd文件约束。

属性的顺序也能定义吗??怎么定的??
------解决方案--------------------
http://www.w3school.com.cn/dtd/index.asp
------解决方案--------------------



楼主你好,刚刚看了你的代码,看了结果也挺奇怪的。


我注意到你的代码第六行:$xmlContent .= '<?xml version="1.0" encoding="GB2312"?>' ;

我发现你这个变量在前面没有定义也没有赋值,你应该把那个连接符点"."去掉,你去掉测试下。


-------------------------------------------------------------------------------------------------------------------

我记得 XML 的 D