可能和浏览器包括浏览器的版本有关系!
我的jsp页内容为
<%
out.println( "<?xml version=\"1.0\" ?>");
out.println( "<test>" );
out.println( "abcd" );
out.println( "</test>" );
out.println( "</xml>" );
%>
但是测试结果是只显示abcd,然后我将文件保存为xml后,用ie打开,结果不能显示。
保存后的xml文件内容是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY><?xml version="1.0" ?><TEST>abcd </TEST></BODY></HTML>

解决方案 »

  1.   

    我觉得应该是ie浏览器只对html标记进行解析,对于其他的标记是不解析的。
      

  2.   

    刚才进行了测试 我用的是servlet
    package hello;import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.util.*;public class xmltest extends HttpServlet {
        private static final String CONTENT_TYPE = "text/xml; charset=GBK";
        public void init() throws ServletException {
        }
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            PrintWriter out = response.getWriter();
            out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
            out.println("<test>");
            out.println("abcd");
            out.close();
        }
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
            doPost(request, response);
        }
    }WEB-INF下的xml中的内容是:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <display-name>testapp</display-name>
      <servlet>
        <servlet-name>xmltest</servlet-name>
        <servlet-class>hello.xmltest</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>xmltest</servlet-name>
        <url-pattern>/xmltest</url-pattern>
      </servlet-mapping>
    </web-app>jsp页面的内容是:
    <html>
    <head>
    <title>
    test
    </title>
    </head>
    <body bgcolor="#ffffff">
    <form action="/testapp/xmltest" method="post">
      <input type="submit" value="go" name="submit"/>
      </form>
    </form>
    </body>
    </html>测试的结果的是正常的显示了xml中的内容,也就是如下内容:
      <?xml version="1.0" encoding="ISO-8859-1" ?> 
      <test>abcd</test>
      

  3.   

    我的jsp页面中,根本就没有任何html的标记,比如<html><head><title>之类的,就是一个纯粹的xml文件,刚开始写这个页面的时候,调试就能直接显示出xml文件,就像我直接用ie打开一个现成的xml一样,可是过了几天我再次测试的时候,就发现不行了。前一天,又发现能用了,真得很奇怪。
    我的环境是 winxp sp2 + tomcat559to OnlyFor_love:
    你的servlet是手写的么?这样会和系统自动从jsp生成的servlet有什么不同么?
    还有,DHTML和HTML对于这个问题有不同么?
    谢了
      

  4.   

    搞定了,在jsp开始的时候,把通常的 contentType="text/html " 改成 application/xml 就行了,结贴送分