xml的显示问题,急死我了,呼唤高手 (200分)

  • 主题发起人 李衍智
  • 开始时间
问题好像出在调用xsl上,但我无论把xsl放到哪,我无论怎样设置调用路径,
屏幕一片空白。当我把 “<" 换成 "&amp;
lt;" 后,屏幕有xml数据,但没有格式化,
请高手指点。
 
我调一天了,呼唤高手
 
问题不在你的 xslt 上,而是 javascript.
如果您需要 IE 为您格式化 XML,则必须把 IE 设置为接收 MIME 类型 text/xml
 
to yysun:
该如何设置?
 
看看YYSUN写的大富的代码应该可以吧,我没看懂,好象是用一个函数实现动态的XML的解析.然后
再送给IE的.你就看看这个页面怎么写的就可以了.好象要求和你的是一样的.
 
解决方法:打开新窗口的 html 应该这样写:
<html><head></head>
<body>
<xml id=defxsl src="defaultss.xsl"></xml>
<xml id=xml src="a.xml"></xml>
<xml id=xsl src="a.xsl"></xml>
<script>
function transString(docString,sheetString){
var xd=new ActiveXObject("msxml2.domdocument");
var xs=new ActiveXObject("msxml2.domdocument");
try{
xd.loadXML(docString);
xs.loadXML(sheetString);
return xd.transformNode(xs);
}
catch(err){return err.description};
}
function openWin() {
doc = window.open().document;
axml = transString(xml.xml, xsl.xml);
doc.write(transString(axml, defxsl.xml));
doc.close();
}
</script>
<button onclick="openWin();">Open</button>
</body></html>
这里做了两次 xsl 转换。
第一次:把您的 xml 用 a.xsl 转换成另外一个 xml。
第二次:用 defaultss.xsl 格式化 xml。
defaultss.xsl 贴在下面的一贴里。
 
to yysun:
1、我按照您提供的方法,第一遍xsl转换,就把元素全部丢失了,只有上面所写的列头存在。
不知是什么原因。第二编显示的错误信息就像论坛开始的常见问题一样。
2、另外transformnode是哪里定义的函数?
3、您告诉我的http://whitered.net/xmp/defSS.xsl访问不到。
 
是不是我的xsl有问题?
 
太谢谢yysun老大了,问题解决了,后来出的问题是由于我生成xml时,利用了"&amp;
lt;" 及
"&amp;
gt;"字符,因为我没搞懂特殊字符的用处,所以走了弯路。
也谢谢天真及关心的朋友。
 
另外问一下yysun老大,您的xsl是干什么用的?我并没用它。
 
defaultss.xsl 就是 http://whitered.net/xmp/defSS.xsl
一样的效果。
 
defaultss.xsl 是 IE 用来格式化 XML 的。
IE 地址栏里打入 res://msxml.dll/defaultss.xsl,就可以看到。
您可以用它来格式化任何 XML 试试看。
或者 您可以试试在 XML 中加入
<?xml-stylesheet type="text/xsl" href="defaultss.xsl"?>
 
顶部