|
我在本地服务器调试没有问题,把xml和xsl文件上传到远端的服务器,访问该网页就会出现这个问题,请问是怎么回事?我是申请的免费空间,请问与这个有关系嘛?是不是需要什么支持,才能使用xslt转换? |
|
|
|
转换的代码是:
<script> function load_xml(xmlf, xslf) { try { var myxml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); myxml.async = false; myxml.load(xmlf); //alert(myxml.xml); var myxsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); myxsl.async = false; myxsl.load(xslf); html = myxml.transformNode(myxsl); document.write(html); } catch (exception) { alert(exception.description); } } </script> |
|
|
在线等待,可以加分
|
|
|
继续等待,高分奉送
|
|
|
UP`````
|
|
|
你用的是那个名称空间
你的远端服务器能支持么?? |
|
|
请检查一下你传入的参数xmlf, xslf!是不是相对路径呀??
在服务器使用一定要用server.mappath()来取得物理上的绝对路径! |
|
|
to coolyu0916:
你指的名称空间是什么,具体一点行吗?我刚接触xsl,不太懂。 to lanyd: 我的一个html文件就一下这些代码,xml文件和xsl文件与它都在同一路径下,这样应该可以把,我在本地用iis建立的web服务器上运行这个网页没有问题,为什么一把它上传到申请的免费空间上就运行出问题呢,执行下面的script时就出现提示框说:“样式表没有包含文档元素。样式表可能是空的,或它可能不是一个标准格式的xml文档。”估计是coolyu0916说的服务器不支持,但不支持什么我不明白。 <html> <head></head> <body> <p> <input type="button" onclick="load_xml('syscfg.xml', 'testxsl.xsl')" value="transform xml"> </body> <script> function load_xml(xmlf, xslf) { try { var myxml = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); myxml.async = false; myxml.load(xmlf); //alert(myxml.xml); var myxsl = new ActiveXObject("MSXML2.FreeThreadedDOMDocument"); myxsl.async = false; myxsl.load(xslf); html = myxml.transformNode(myxsl); document.write(html); } catch (exception) { alert(exception.description); } } </script> </html> |
|
|
请查syscfg.xml、testxsl.xsl 和 该调用文件是否在同一个目录里
|
|
|
肯定在同一目录
|
|
|
谁能告诉我为什么,是不是申请的免费空间不支持xml
|
|
|
啊,不是吧,你的SCRIPT是客户机上HTML里的???
那就是了,因为你是用函数调用的嘛,而那两个XM?文件应该并不会被下载到客户机。 所以,你得指明xml和xsl位于服务器上的详细地址。 比如<input type="button" onclick="load_xml('http://vos.gamesvr.net/ydits/syscfg.xml', 'http://vos.gamesvr.net/ydits/testxsl.xsl')" value="transform xml">,这样试试行不。 我说的物理路径是指的在服务器端的SCRIPT(如ASP),那必须是这样,不能用虚拟目录! |
|
|
to lanyd(山雨欲来风满楼):
我在客户机上HTML里如你所说的指明了xml和xsl的详细地址,还是不行,出现同样的提示框。 有个问题想请教:为什么我在本地机上用iis 建立的web站点,局域网内的其他机器访问这个网页没问题,一上传到远端的服务器上就有问题,这个远端服务器只是我申请的一个免费空间,不支持asp的。 |
|
|
那我就有点解了,要不你把这三个文件发到我的信箱,让我试试?
ys.li.eih@elitecorp.com |
|
|
我已经发给你了,谢谢,麻烦看一下
|
|
|
你引用的网址好像不对,请问你的三个文件都是上传到服务器的同一个目录吗??
你给我的网址是http://sasaye.myrice.com/news/AutoCode.htm,但你引用的却是http://sasaye.myrice.com/syscfg.xml(少了一个news/)。 那原则上另外二个文件的地址是http://sasaye.myrice.com/news/syscfg.xml和http://sasaye.myrice.com/news/testxsl.xsl。 但实际上好像这个地址又被重定向到了http://freedownload.myrice.com/sa/sasaye/news/syscfg.xml! 可惜,不知为什么,在我这边直接输入这个网址都打不开这个xml文件,可能是我们公司的防火墙过滤了。你只要试试能不能直接通过在地址栏输入完整的XML文件地址来显示它,如果行,把最终的结果引用即可。 所以,你应该得到最终的网络地址。 |
|
|
嗯,是少了一个news/,可是加上也不行啊。
你怎么知道地址被重定向了,从哪里看出来的?可能就是这个原因吧! |
|
|
很简单呀,我在地址栏中输入:
http://sasaye.myrice.com/news/syscfg.xml 结果过一会地址栏就变成下面的了:) http://freedownload.myrice.com/sa/sasaye/news/syscfg.xml 你上传时是不是三个文件都在同一个目录呀? 那你试试看把SCRIPT引用的地址都改为: http://freedownload.myrice.com/sa/sasaye/news/syscfg.xml http://freedownload.myrice.com/sa/sasaye/news/testxsl.xsl 当然,前题是你在地址栏里直接输入最终的URL能够显示出XML文件内容: http://freedownload.myrice.com/sa/sasaye/news/syscfg.xml |
|
|
我这里好像并没有你说的重定向的问题阿,地址栏的地址没有改变。
地址栏里直接输入URL都无法显示xml文件内容。 不管怎么还是谢谢你了。 |
|
|
http://sasaye.myrice.com/news/syscfg.xml
或 http://freedownload.myrice.com/sa/sasaye/news/syscfg.xml 都不行?? 不用谢啦,没有真正帮到你解决为止,怪不好意思的。 以后多交流啦。。 |
|
|
是啊都不行
|
|