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如何能被输出到页面上,谢谢
回复讨论(解决方案) 你这是创建的xml,你得些一个程序读取xml
1)domdocument读取xml
load('person.xml'); //读取xml文件
$humans = $doc->getelementsbytagname( humans ); //取得humans标签的对象数组
foreach( $humans as $human )
{
$names = $human->getelementsbytagname( name ); //取得name的标签的对象数组
$name = $names->item(0)->nodevalue; //取得node中的值,如
$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
name.-.$tmp->sex.-.$tmp->old.
;
}
?>
发xml doctype的header
我这不是在读取一个xml,是从数据库读取数据并生成一个xml并显示在网页上,我在循环里如果写$dom->save('new_materials.xml');是可以正常生成xml的,可我是想显示在网页上,我用echo和print都不能实现
用echo和print都是可以的,但要保证没有其他输出。
否则会因多了其他内容而造成浏览器解析失败
最好还先发一个类型声明:
header(content-type: text/xml);