php中dom生成的xml如何输出到页面上

causlayer 2013-11-26 02:45:51
<?php
$id= $_GET['id'];
$n = $_GET['n'];
//包含数据库连接文件
include('conn.php');
$dom=new DomDocument('1.0', 'utf-8');
$dom->formatOutput = true;
if($category == ""){
exit;
};
// 创建根节点
$element = $dom->createElement('element');
$dom->appendchild($element);
$element->setAttribute('n',$n);
$query = mysql_query( "select * from pictures order by LevelID='$id'" );
while( $result = mysql_fetch_array( $query ) )
{
$t=$dom->createElement('e');
$t->setAttribute('cr',$result['c']);
$t->setAttribute('isNew',$result['isNew']);
$t->setAttribute('fileUrl',$result['fileUrl']);
$element->appendChild($t);
print_r($dom->saveXML());

}
echo $dom->saveXML();

?>
我用print和echo都不能把dom输出到页面上,
请问php里dom生成的xml如何能被输出到页面上,谢谢
...全文
179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2013-11-26
  • 打赏
  • 举报
回复
用echo和print都是可以的,但要保证没有其他输出。 否则会因多了其他内容而造成浏览器解析失败 最好还先发一个类型声明: header("Content-type: text/xml");
causlayer 2013-11-26
  • 打赏
  • 举报
回复
我这不是在读取一个xml,是从数据库读取数据并生成一个xml并显示在网页上,我在循环里如果写$dom->save('new_materials.xml');是可以正常生成xml的,可我是想显示在网页上,我用echo和print都不能实现
ImN1 2013-11-26
  • 打赏
  • 举报
回复
发xml doctype的header
wxnacyh 2013-11-26
  • 打赏
  • 举报
回复
你这是创建的xml,你得些一个程序读取xml 1)DOMDocument读取xml <?php $doc = new DOMDocument(); $doc->load('person.xml'); //读取xml文件 $humans = $doc->getElementsByTagName( "humans" ); //取得humans标签的对象数组 foreach( $humans as $human ) { $names = $human->getElementsByTagName( "name" ); //取得name的标签的对象数组 $name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name> $sexs = $human->getElementsByTagName( "sex" ); $sex = $sexs->item(0)->nodeValue; $olds = $human->getElementsByTagName( "old" ); $old = $olds->item(0)->nodeValue; echo "$name - $sex - $old\n"; } ?>   2)simplexml读取xml <?php $xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中 foreach($xml_array as $tmp){ echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>"; } ?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧