xml和html混合显示的问题?

xiaowuduoduo 2008-11-12 08:34:15
大家都知道xml文件如果用IE等浏览器打开的时候,可以出现层次的结构,
html呢,本身也可以通过css和javascript实现树状结构(像windows的文件夹树状表现一样)
有这样一个问题,html中间有些内容正常显示,有些内容以xml显示(xml可以是文件),就是
混合显示的意思,不知道大家有没有什么办法。不跪求,却很想听听大家的点子。
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaowuduoduo 2008-11-14
  • 打赏
  • 举报
回复
通过一定的方法,实现了,我要的内容,把代码放在这里,希望对大家也有所帮助。
sample1.html

<html><HEAD><TITLE>全国</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style>
td{font-size:12px}
div{font-family:宋体}
div.tree_add{background:url(treeline_2.gif) no-repeat left;padding-left:24px;padding-top:3px;color:blue;cursor:hand}
div.tree_1{background:url(ico_top1.gif) no-repeat left middle;padding-top:3px;font-size:15px;padding-left:20px;cursor:hand;color:blue}
div.tree_2{padding-left:100px;background:url(treeline_1.gif) 100px repeat-y;font-size:14px}
div.tree_3{background:url(treeline_2.gif) no-repeat left;padding-left:24px;padding-top:3px}
</style>
<script>
<!--
function line(obj)
{
obj.style.textDecoration='underline';
}
function delline(obj)
{
obj.style.textDecoration='none';
}
function showtree(str)
{
var eval1="span_"+str+".innerHTML=span_"+str+".innerHTML=='+'?'-':'+'";
var eval2=str+"_value.style.display="+str+"_value.style.display=='none'?'':'none'";
eval(eval1);
eval(eval2);
}
-->
</script>
</HEAD>
<BODY style="MARGIN: 0px">
<table>
<tr>
<td width=80% style="padding:30px">
<div class=tree_1 onmouseover="line(this)" onMouseOut="delline(this)" onClick="showtree('directly')">我的家<span id=span_directly style="color:gray">+</span></div>
<div id=directly_value class=tree_2 style="display:none">
<iframe src="sample1.xml" name="top" width="960" height="107" frameborder="0" allowtransparency="true" scrolling="no" > </iframe>
</div>
</div>
<div class=tree_1 onMouseOver="line(this)" onMouseOut="delline(this)" onClick="showtree('state')">你的家<span id=span_state style="color:gray">+</span></div>
<div id=state_value class=tree_2 style="display:none">
<iframe src="sample2.xml" name="top" width="400" height="107" frameborder="0" allowtransparency="true" scrolling="yes" > </iframe>
</div>
</td>
</tr>
</table>
</html>

sample1.xml

<?xml version="1.0" encoding="gb2312"?>
<lly365>
<a>A</a>
<item>b</item>
</lly365>

sample2.xml

<?xml version="1.0" encoding="gb2312"?>
<users>
<user>
<userid>001</userid>
<username>cck</username>
</user>
<user>
<userid>002</userid>
<username>fkp</username>
</user>
</users>

xiaowuduoduo 2008-11-14
  • 打赏
  • 举报
回复
changke18可能没有理解我的问题,对于xml文件里的内容,我是想全部显示,并且可以出现类似IE中表现xml文件的“+ - ”的形式,
而不是取他中间的字段,不过还是谢谢你。
对于cftea的方法,我也曾想到过,可能好做一点。还要研究研究。
xiaowuduoduo 2008-11-14
  • 打赏
  • 举报
回复
谢谢大家的回答,昨天网络不好,csdn登录有点问题,say sorry。
cftea 2008-11-13
  • 打赏
  • 举报
回复
嵌入 iframe,在 iframe 中引用 xml 文件。
西安风影 2008-11-13
  • 打赏
  • 举报
回复
可以在html嵌套xsl呈现xml
demo.xml:
<?xml version="1.0" encoding="gb2312"?>
<users>
<user>
<userid>001</userid>
<username>cck</username>
</user>
<user>
<userid>002</userid>
<username>fkp</username>
</user>
</users>


demo.xsl:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table border="1">
<xsl:for-each select="users/user">
<tr>
<td><xsl:value-of select="userid"/></td>
<td><xsl:value-of select="username"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>


demo.html:
<html>
<head>
<script language="javascript">
function renderXML()
{
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("demo.xml");
var xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("demo.xsl");
document.getElementById("demo").innerHTML=xml.transformNode(xsl);
}
window.onload=renderXML;
</script>
</head>
<body>
<div>HelloWorld</div>
<div id="demo"></div>
</body>
</html>

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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