我现在有个检索后的结果集
USER_ID = 1
USER_NAME= 小张
POINT = 80USER_ID = 2
USER_NAME=小李
POINT = 60USER_ID = 3
USER_NAME= 小王
POINT = 70想生成一个xml的字符串如下
"<?xml version='1.0' encoding='UTF-8'?>
<ExportData>
<Body>
<Content>
<Id>1</Id><Name小张</Name><Point>80</Point>
</Content>
<Content>
<Id>2</Id><Name>小李</Name><Point>60</Point>
</Content>
<Content>
<Id>3</Id><Name>小王</Name><Point>70</Point>
</Content>
</Body>
</ExportData>";
请教各位大侠怎么实现啊

解决方案 »

  1.   

    $xml = <<<xml
     <?xml version='1.0' encoding='UTF-8'?>
     <ExportData>
     <Body>
    xml;
    while($row = mysql_fetch_assoc($queryResult) )
    {
        $xml .=<<<xml
       <Content>
          <Id>{$row['USER_ID']}</Id>
          <Name>{$row['USER_NAME']}</Name>
          <Point>{$row['POINT']}</Point>
       </Content>
    xml;
    }
    $xml .=<<<xml
      </Body>
      </ExportData>
    xml;
    php 5.3以后还有自带的 XMLWriter,生成的程序会更规范点,不过代码量会大点我不写了
      

  2.   

    操作xml dom, 再print出来就行了。
      

  3.   

    我想要的结果是
    "<?xml version='1.0' encoding='UTF-8'?>
    <ExportData>
    <Body>
    <Content>
    <Id>1</Id><Name小张</Name><Point>80</Point>
    </Content>
    <Content>
    <Id>2</Id><Name>小李</Name><Point>60</Point>
    </Content>
    <Content>
    <Id>3</Id><Name>小王</Name><Point>70</Point>
    </Content>
    </Body>
    </ExportData>";
    这样的一个字符串1楼的代码在页面上echo后 显示的是 
    1  小张 80  2 小李 60  3 小王 70
      

  4.   

    右键源代码
    想要标准的输出xml  在echo之前加上 header('Content-Type:text/xml');
      

  5.   

    那是因为浏览器把这个XML字符串当html文档解析了,你可以通过查看源代码看到完整的结果。
    在代码的最前面加一句 header('Content-type: text/xml; charset=UTF-8'); ,
    并且把 
    $xml = <<<xml
    <?xml version='1.0' encoding='UTF-8'?>
    中的 <?xml 挪到最前面去,前面不能有任何输出。一切ok
      

  6.   

    最好用Dom实现,以免产生错误