如何使用JavaScript提出XML数据??

yellowwee 2002-05-13 02:26:24
我的xml文件:
<?xml version="1.0" encoding="gb2312"?>
<Root>
<link>
<name>成果管理</name>
<url>ProductMan.aspx</url>
</link>
<link>
<name>教师管理</name>
<url>TeacherMan.aspx</url>
</link>
</Root>
要求,name内容显示在表格中,url内容显示为<a href="ProductMan.aspx">

即显示为:
<table>
<tr>
<td>
<a href="ProductMan.aspx">成果管理</a>
</td>
</tr>
<tr>
<td>
<a href="TeacherMan.aspx">教师管理</a>
</td>
</tr>

</table>
...全文
89 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
非常感谢!!
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table>
<tr>
<xsl:for-each select="Root/link">
<td style="cursor:hand">
<xsl:attribute name="onclick">window.frames('iframeName').location='<xsl:value-of select="url"/>'</xsl:attribute>
<xsl:value-of select="name"/>
</td>
</xsl:for-each>
</tr>
</table>
<iframe name="iframeName" src="about:blank"> </iframe>
</xsl:template>
</xsl:stylesheet>
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table>
<tr>
<xsl:for-each select="Root/link">
<td style="cursor:hand">
<xsl:attribute name="onclick">window.frames('iframeName').location='<xsl:value-of select="url"/>'</xsl:attribute>
<xsl:value-of select="name"/>
</td>
</xsl:for-each>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
这是什么??

to:net_lover(孟子E章)
非常感谢,就是还有个问题。进一步,我想写成这样
就是在一个iframe窗口中实现连接

<table>
<tr>
<td onclick="window.iframeName.href='ProductMan.aspx'">
成果管理
</td>
</tr>
<tr>
<td onclick="window.iframeName.href='TeacherMan.aspx'">
教师管理
</td>
</tr>

</table>


该怎么改呢??
qiushuiwuhen 2002-05-13
  • 打赏
  • 举报
回复
<xml id='link' src='link.xml'></xml>
<table datasrc=#link border onreadystatechange=go()>
<tr><td><a datafld="url" target="iframename"><span datafld="name"></span></a></td></tr>
</table>
<script>
function go(){
var e = window.event.srcElement;
if (e.readyState == "complete" || e.readyState == 4)
e.outerHTML="<table border>" + e.innerHTML.replace(/<(\/)?t[^d][^>]*>/gi,"") + " </table>";
}
</script>
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
我写错了,我要的结果是
<table>
<tr>
<td>
<a href="ProductMan.aspx"><span>成果管理</span></a>
</td>
<td>
<a href="TeacherMan.aspx"></span>教师管理</span></a>
</td>
</tr>
</table>
不好意思。
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
我写错了,我要的结果是
<table>
<tr>
<td>
<a href="ProductMan.aspx"><span>成果管理</span></a>
</td>
<td>
<a href="TeacherMan.aspx"></span>教师管理</span></a>
</td>
</tr>
</table>
不好意思。
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
我写错了,我要的结果是
<table>
<tr>
<td>
<a href="ProductMan.aspx"><span>成果管理</span></a>
</td>
<td>
<a href="TeacherMan.aspx"></span>教师管理</span></a>
</td>
</tr>
</table>
不好意思。
qiushuiwuhen 2002-05-13
  • 打赏
  • 举报
回复
结果正好就是你要求的(看看就知道了)

<table>
<tr>
<td>
<a href="ProductMan.aspx"><span>成果管理</span></a>
</td>
</tr>
<tr>
<td>
<a href="TeacherMan.aspx"></span>教师管理</span></a>
</td>
</tr>

</table>


加iframename,可用
数据岛
<xml id='link' src='link.xml'></xml>
<table datasrc=#link border>
<tr><td><a datafld="url" target="iframename"><span datafld="name"></span></a></td></tr>
</table>

yellowwee 2002-05-13
  • 打赏
  • 举报
回复
to: qiushuiwuhen(秋水无恨)
数据岛只能纵向显示


to:net_lover(孟子E章)
非常感谢,就是还有个问题。进一步,我想写成这样
就是在一个iframe窗口中实现连接

<table>
<tr>
<td onclick="window.iframeName.href='ProductMan.aspx'">
成果管理
</td>
</tr>
<tr>
<td onclick="window.iframeName.href='TeacherMan.aspx'">
教师管理
</td>
</tr>

</table>


该怎么改呢??
qiushuiwuhen 2002-05-13
  • 打赏
  • 举报
回复
数据岛
<xml id='link' src='link.xml'></xml>
<table datasrc=#link border>
<tr><td><a datafld="url"><span datafld="name"></span></a></td></tr>
</table>
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
domxsl.xsl
横向显示
===========
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table><tr>
<xsl:for-each select="Root/link">

<td>
<a>
<xsl:attribute name="href"><xsl:value-of select="url"/></xsl:attribute>
<xsl:value-of select="name"/>
</a>
</td>

</xsl:for-each>
</tr></table>
</xsl:template>
</xsl:stylesheet>

cpplus 2002-05-13
  • 打赏
  • 举报
回复
哦~孟子已经贴过了:)

还有,怎么帖主的明明是Root我复制过来变成了root:((

yellowwee 2002-05-13
  • 打赏
  • 举报
回复
哦,这样不行。
我想要横向显示,不是纵向的。
<table>
<tr>
<td>
<a href="ProductMan.aspx">成果管理</a>
</td>
</tr>
<tr>
<td>
<a href="TeacherMan.aspx">教师管理</a>
</td>
</tr>

</table>
这样是纵向的!
cpplus 2002-05-13
  • 打赏
  • 举报
回复
写一个XSL就好了:)
my.xsl
<?xml version="1.0"?>
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<BODY>
<TABLE>
<TR>
<xsl:for-each select="root/link">
<TD>
<A TARGET="_new">
<xsl:attribute name="HREF"><xsl:value-of select="url" /></xsl:attribute>
<xsl:value-of select="name" />
</A>
</TD>
</xsl:for-each>
</TR>
</TABLE>
</BODY>
</HTML>

btw: 你的XML文件有错误,应该是:

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type='text/xsl' href='my1.xsl'?>
<root>
<link>
<name>成果管理</name>
<url>ProductMan.aspx</url>
</link>
<link>
<name>教师管理</name>
<url>TeacherMan.aspx</url>
</link>
</root>
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
后一种办法对系统要求低
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
后一种办法对系统要求低
孟子E章 2002-05-13
  • 打赏
  • 举报
回复
也可以这样:
test.htm
================
<script>
function test()
{
var dom = new ActiveXObject("Microsoft.XMLDOM");
dom.async = false;
dom.load("xml.xml");

var domxsl = new ActiveXObject("Microsoft.XMLDOM");
domxsl.async = false;
domxsl.load("domxsl.xsl");

document.all.mxh.innerHTML=dom.transformNode(domxsl)
}
</script>
<body onload="test()">
<div id=mxh></div>

domxsl.xsl
===========
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table>
<xsl:for-each select="Root/link">
<tr>
<td>
<a>
<xsl:attribute name="href"><xsl:value-of select="url"/></xsl:attribute>
<xsl:value-of select="name"/>
</a>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
哦,我看到了,先试试!
yellowwee 2002-05-13
  • 打赏
  • 举报
回复
对不起,我对xsl不太懂。
我是在网页中这样调用xml的
<xml id='link' src='link.xml'></xml>
希望在网页中显示
<table>
<tr>
<td>
<a href="ProductMan.aspx">成果管理</a>
</td>
</tr>
<tr>
<td>
<a href="TeacherMan.aspx">教师管理</a>
</td>
</tr>

</table>
具体该怎么写!!
谢谢~~
加载更多回复(2)

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧