当然不是了,关键是你理解有出入了。
db.parse(new InputSource("http://localhost:8080/xml.jsp"))
这句告诉解析器真的要去找http://localhost:8080/xml.jsp这个文件本身的,
实际上他并没有要求服务器解析jsp文件内容,所以读的是原本的那个jsp原文件而不是经过服务器解析jsp生成的xml类型文件。这个道理就象我们一般写的new File("test.jsp")一样的,你说他会把服务器经过编译运行的结果给我们吗?显然不是的。所以我们这里需要使用URLConnection相关函数读出http://localhost:8080/xml.jsp的编译运行后的内容,这些操作在内存中完成的,然后处理后传递给parser就可以了。祝福你好运!!
db.parse(new InputSource("http://localhost:8080/xml.jsp"))
这句告诉解析器真的要去找http://localhost:8080/xml.jsp这个文件本身的,
实际上他并没有要求服务器解析jsp文件内容,所以读的是原本的那个jsp原文件而不是经过服务器解析jsp生成的xml类型文件。这个道理就象我们一般写的new File("test.jsp")一样的,你说他会把服务器经过编译运行的结果给我们吗?显然不是的。所以我们这里需要使用URLConnection相关函数读出http://localhost:8080/xml.jsp的编译运行后的内容,这些操作在内存中完成的,然后处理后传递给parser就可以了。祝福你好运!!
能不能给给出具体的做法,给我参考一下吧!!!
DocumentBuilder builder = factory.newDocumentBuilder();
URL url=new URL(xml.jsp);
URLConnection uc =url.openConnection();
InputStream in;
in=uc.getInputStream();
doc = builder.parse(in);
结果出现的问题和前面一样!!!