怎样使XMLDOM输出的内容不带<?xml version"1.0"?> ???
时间:2009-09-17
来源:互联网
PHP里用XSL把XML转换了一下,然后将转换后的结果输出,我有如下三个选择:
saveXML()、saveXML(node) 和 saveHTML()。
但是,注意了,转换后的结果是要嵌入一个符合XHTML规范的xhtml页面,所以saveHTML()不行,因为它把原来好好的<img/>硬是变成了<img>,XHTML规则被破坏。
无奈只好用saveXML(),这个也有大问题,它会自带<?xml version="1.0" encoding="gb2312"?>这一行,而XHTML页面的顶端已经有一个了。
后来我查资料看到有saveXML(node)有个参数,但是它是专门对付DOM生成的节点,像我这样用XSL转换后的结果,我实在是不知道怎么做啊。
-----------default_xhtml.php ----------
<?php header("Content-Type: application/xhtml+xml; charset=gb2312"); echo '<'.'?xml version="1.0" encoding="gb2312"?'.'>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> <?php $xml = new DOMDocument(); $xml->load("test.xml"); $xsl = new DOMDocument(); $xsl->load("test.xsl"); $proc = new XSLTProcessor(); $proc->importStyleSheet($xsl); $temp = $proc->transformToXML($xml); $newxml = new DOMDocument(); $newxml->loadXML($temp); echo $newxml->saveXML(); // 不行,输出结果带<?xml version="1.0"?> echo $newxml->saveHTML(); //不行,输出结果没有关闭tag,如<img> ?> </body> </html>
提示:您可以先修改部分代码再运行
saveXML()、saveXML(node) 和 saveHTML()。
但是,注意了,转换后的结果是要嵌入一个符合XHTML规范的xhtml页面,所以saveHTML()不行,因为它把原来好好的<img/>硬是变成了<img>,XHTML规则被破坏。
无奈只好用saveXML(),这个也有大问题,它会自带<?xml version="1.0" encoding="gb2312"?>这一行,而XHTML页面的顶端已经有一个了。
后来我查资料看到有saveXML(node)有个参数,但是它是专门对付DOM生成的节点,像我这样用XSL转换后的结果,我实在是不知道怎么做啊。

-----------default_xhtml.php ----------
<?php header("Content-Type: application/xhtml+xml; charset=gb2312"); echo '<'.'?xml version="1.0" encoding="gb2312"?'.'>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head></head> <body> <?php $xml = new DOMDocument(); $xml->load("test.xml"); $xsl = new DOMDocument(); $xsl->load("test.xsl"); $proc = new XSLTProcessor(); $proc->importStyleSheet($xsl); $temp = $proc->transformToXML($xml); $newxml = new DOMDocument(); $newxml->loadXML($temp); echo $newxml->saveXML(); // 不行,输出结果带<?xml version="1.0"?> echo $newxml->saveHTML(); //不行,输出结果没有关闭tag,如<img> ?> </body> </html>
提示:您可以先修改部分代码再运行
作者: xmlscript 发布时间: 2009-09-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28