通过xslt实现的VML统计饼图(代码共享)

liuruhong liuruhong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
数据
-----------------------------
<?xml version="1.0" encoding="gb2312" ?>
<root>
<DataItem name="北京" value ="23" title="北京的人口"/>
<DataItem name="上海" value="49" title="上海的人口"/>
<DataItem name="成都" value="89" title="成都的人口"/>
<DataItem name="天津" value="36" title="天津的人口"/>
<DataItem name="武汉" value="15" title="武汉的人口"/>
<DataItem name="西安" value="57" title="西安的人口"/>
<DataItem name="d安" value="57" title="西安的人口"/>
<DataItem name="a安" value="57" title="西安的人口"/>
</root>


HTML文件
------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns:v>
<head>
<title></title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="ProgId" content="VisualStudio.HTML">
<meta name="Originator" content="Microsoft Visual Studio .NET 7.1">
<style> v\:* { BEHAVIOR: url(#default#VML)
</style>
<script>
function getxml(){
var xmlDoc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
xmlDoc.load("chartdata.xml");
var xslDoc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
xslDoc.load("VMLChart.xslt");

var template=new ActiveXObject("MSXML2.XSLTemplate");
template.stylesheet=xslDoc;
var proc=template.createProcessor();

proc.input=xmlDoc;
proc.addParameter("Caption","测试图表");
proc.addParameter("Width",600);
proc.addParameter("Height",450);
proc.addParameter("BackgroundColor","#e6e6e6");
proc.addParameter("Shadow","on");

proc.transform();
var strResult=proc.output;
result.innerHTML=strResult;
}
</script>
</head>
<body>
<input onclick="getxml()" value="生成" type="button">
<div id="result">

</div>
</body>
</html>
...全文
评论 6
收藏 已收藏
分享
返回顶部
liuruhong
XML/XSL 8,906 成员 22,677 内容