xml文档转换工具,附图表例子(hta)


Posted in Javascript onNovember 17, 2010

源文档,饼图数据

<?xml version="1.0" encoding="utf-8"?> 
<items> 
<title>各指标所占比重</title> 
<unit>人</unit> 
<item> 
<name>指标一</name> 
<value>50</value> 
<description>1</description> 
</item> 
<item > 
<name>指标二百五十二</name> 
<value>50</value> 
<description>2</description> 
</item> 
<item> 
<name>指标三</name> 
<value>50</value> 
<description>3</description> 
</item> 
<item> 
<name>指标四</name> 
<value>50</value> 
<description>4</description> 
</item> 
<item> 
<name>指标五</name> 
<value>50</value> 
<description>5</description> 
</item> 
<item> 
<name>指标六</name> 
<value>10</value> 
<description>6</description> 
</item> 
<item> 
<name>指标七</name> 
<value>50</value> 
<description>7</description> 
</item> 
<item> 
<name>指标八</name> 
<value>50</value> 
<description>8</description> 
</item> 
</items>

模板文档
<?xml version="1.0" encoding="utf-8"?> 
<template rootname="DIV"> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
$System.Event.EventManager.attachEvent 
( 
$$("#ctrlid#") , "AfterRender", 
function(sender) 
{ 
var cMenu = new $System.UI.ContextMenu($$("#ctrlid#").domid); 
//alert(2); 
$$("#ctrlid#").addChildNode(cMenu.guid , true); 
$$("#ctrlid#").$$secret.codebehind.cMenuGUID = cMenu.guid; 
var srcDoc = new $System.XML.XMLUtil.XDOC("root"); 
var tplDoc = $System.XML.XMLUtil.loadXMLFile("res\\app\\module\\style\\contextmenu.tpl.xml"); 
cMenu.hide(); 
cMenu.render(srcDoc , tplDoc); 
} 
) 
$$("#ctrlid#").$$secret.codebehind.showItemDetail = function(itemName , itemValue , itemPercent) 
{ 
//alert(); 
var cMenu = $$($$(leftFrameGUID).$$secret.codebehind.cMenuGUID); 
$(cMenu.guid + "_detail").innerHTML = $System.String.StringUtil.decodeURIComponent(detail); 
//alert($(cMenu.guid + "_detail").innerHTML); 
cMenu.show(window.event.x , window.event.y); 
} 
$$("#ctrlid#").$$secret.codebehind.sectorOnMouseOver = function(domid , startAngle , offsetAngle , angle , radius) 
{ 
//$(domid).path = "m0,0l0,0xe"; 
window.setTimeout("$('" + domid + "').path = 'm0,0ae0,0,1000,1000," + startAngle +"," + offsetAngle + "xe'" , 10 , "javascript"); 
} 
$$("#ctrlid#").$$secret.codebehind.sectorOnMouseOut = function(domid , startAngle , offsetAngle , angle , radius) 
{ 
//$(domid).path = "m0,0l0,0xe"; 
window.setTimeout("$('" + domid + "').path = 'm0,0ae0,0,850,850," + startAngle +"," + offsetAngle + "xe'" , 10 , "javascript"); 
} 
// 
//图表高、宽 
var pContainer = $$("#ctrlid#").getDomObject(); 
var w = pContainer.style.pixelWidth; 
var h = pContainer.style.pixelHeight; 
//alert(h); 
if(h < w){ 
h = h < (w * 5 / 6) ? h : Math.floor(w * 5 / 6); 
} 
else{ 
h = Math.floor(w * 5 / 6); 
} 
var hv = Math.min(w , h); 
var rad = Math.floor(2 * hv / 5); 
//alert(rad); 
var radius = 1000; 
$$("#ctrlid#").$$secret.codebehind.radius = radius; 
$$("#ctrlid#").$$secret.codebehind.rad = rad; 
//扇区数 
var itemNodeList = $$("#sdocguid#").getElementsByTagName("item"); 
$$("#ctrlid#").$$secret.codebehind.sectorCount = itemNodeList.length; 
var nameLengthArray = []; 
var maxItemNameLength , cNameLength; 
if($$("#ctrlid#").$$secret.codebehind.sectorCount != 0){ 
for(iteri = 0 ; iteri < $$("#ctrlid#").$$secret.codebehind.sectorCount; iteri ++){ 
cNameLength = $System.String.StringUtil.getLengthInCn(itemNodeList.item(iteri).getElementsByTagName("name").item(0).text); 
nameLengthArray.push(cNameLength); 
} 
maxItemNameLength = nameLengthArray.sort 
( 
function(a , b){ 
if(a == b){ 
return 0; 
} 
if(a > b){ 
return 1; 
} 
return -1; 
} 
)[nameLengthArray.length - 1]; 
} 
$$("#ctrlid#").$$secret.codebehind.maxItemNameLength = maxItemNameLength; 
//图表背景尺寸 
var bgLeft = Math.floor((w - 2 * rad - Math.ceil(rad / 9) - Math.ceil(rad / 10) - (maxItemNameLength / 10) * rad) / 2); 
//alert(bgLeft); 
var bgTop = Math.floor(rad / 7); 
//alert(bgTop); 
var bgWidth = 2 * rad; 
var bgHeight = 2 * rad; 
$$("#ctrlid#").$$secret.codebehind.bg = {bgLeft : bgLeft , bgTop : bgTop , bgWidth : bgWidth , bgHeight : bgHeight}; 
//当前扇区起始角度 
$$("#ctrlid#").$$secret.codebehind.cStartAngle = 0; 
$$("#ctrlid#").$$secret.codebehind.angleOffset = 0; 
$$("#ctrlid#").$$secret.codebehind.cSN = null; 
$$("#ctrlid#").$$secret.codebehind.cIndex = 1000; 
var strStyle; 
strStyle = "border:1px solid red;position:relative;left:0px;top:" + Math.floor((pContainer.style.pixelHeight - h) / 2) + "px;width:" + w + "px;height:" + h + "px;overflow:visible;"; 
//alert(strStyle); 
]]> 
</statement> 
</expression> 
</attribute> 
<foreach base="/item"> 
<element name="v:shape"> 
<attribute name="coordorigin" value="-1000,-1000" /> 
<attribute name="coordsize" value="2000,2000" /> 
<attribute name="stroked" value="false" /> 
<attribute name="fill" value="true" /> 
<element name="v:fill"> 
<attribute name="rotate" value="true" /> 
<attribute name="angle" value="180" /> 
<attribute name="focus" value="100%" /> 
<attribute name="type" value="gradient" /> 
<attribute name="color" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var sn; 
if($$("#ctrlid#").$$secret.codebehind.cSN == null){ 
$$("#ctrlid#").$$secret.codebehind.cSN = 0; 
} 
else{ 
$$("#ctrlid#").$$secret.codebehind.cSN++; 
} 
sn = $$("#ctrlid#").$$secret.codebehind.cSN; 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
//compute color. 
var ar = $System.UI.ColorUtil.genColorArrayOnItemNum(totalCount , 1 , 0.7); 
sColor = "rgb(" + ar[sn].r + " " + ar[sn].g + " " + ar[sn].b + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="color2" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var sn; 
sn = $$("#ctrlid#").$$secret.codebehind.cSN; 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
//compute color. 
var ar = $System.UI.ColorUtil.genColorArrayOnItemNum(totalCount , 0.5 , 1); 
sColor = "rgb(" + ar[sn].r + " " + ar[sn].g + " " + ar[sn].b + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
</element> 
<attribute name="path" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var sn = $$("#ctrlid#").$$secret.codebehind.cSN; 
var cldNodeList = $System.XML.XMLUtil.XElement.getElementChildsByTagName($$("#sdocguid#").documentElement , "item"); 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
var totalValue = 0; 
var valueArray = []; 
var cValue; 
//compute startangle and endangle. degree * (2^16) 
for(var ai = 0 ; ai < totalCount ; ai ++){ 
cValue = parseFloat($System.XML.XMLUtil.XElement.getFirstElementChildByTagName(cldNodeList[ai] , "value").firstChild.nodeValue); 
valueArray.push(cValue); 
totalValue += cValue; 
} 
var startAngle = 0; 
var angleOffset = 0; 
for(var ai = 0 ; ai < totalCount - 1 ; ai ++){ 
if(sn != ai){ 
startAngle += (ai % 2 == 0) ? Math.floor(valueArray[ai] / totalValue * 360 * 65536) : Math.ceil(valueArray[ai] / totalValue * 360 * 65536); 
} 
else{ 
angleOffset = ((ai % 2 == 0) ? Math.floor(valueArray[ai] / totalValue * 360 * 65536) : Math.ceil(valueArray[ai] / totalValue * 360 * 65536)); 
break; 
} 
} 
if(sn == (totalCount - 1)){ 
angleOffset = 360 * 65536 - startAngle; 
} 
$$("#ctrlid#").$$secret.codebehind.cStartAngle = startAngle; 
$$("#ctrlid#").$$secret.codebehind.angleOffset = angleOffset; 
//construct the path attribute value. 
var sPath; 
sPath = "m0,0ae0,0,850,850," + startAngle +"," + angleOffset + "xe"; 
]]> 
</statement> 
</expression> 
</attribute> 
<!-- 
<v:extrusion on="t" type="parallel" backdepth="25px" color="#20c11b" diffusity="1.2" metal="t" rotationangle="20,0" skewangle="90,0" /> 
--> 
<element name="v:extrusion"> 
<attribute name="on" value="t" /> 
<attribute name="type" value="parallel" /> 
<attribute name="backdepth" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var str; 
str = Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 8); 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="type" value="parallel" /> 
<attribute name="color" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var sn; 
sn = $$("#ctrlid#").$$secret.codebehind.cSN; 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
//compute color. 
var ar = $System.UI.ColorUtil.genColorArrayOnItemNum(totalCount , 1 , 0.7); 
sColor = "rgb(" + ar[sn].r + " " + ar[sn].g + " " + ar[sn].b + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="metal" value="t" /> 
<attribute name="rotationangle" value="20,0" /> 
<attribute name="skewangle" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var skewangle; 
skewangle = 90; 
]]> 
</statement> 
</expression> 
</attribute> 
</element> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var strStyle; 
strStyle = "border:0px solid red;position:absolute;left:" + $$("#ctrlid#").$$secret.codebehind.bg.bgLeft + "px;top:" + $$("#ctrlid#").$$secret.codebehind.bg.bgTop + "px;width:" + $$("#ctrlid#").$$secret.codebehind.bg.bgWidth + "px;height:" + $$("#ctrlid#").$$secret.codebehind.bg.bgHeight + "px;"; 
//alert(strStyle); 
var startAngle = $$("#ctrlid#").$$secret.codebehind.cStartAngle / 65536; 
if(startAngle == 0){ 
strStyle += "z-index:" + $$("#ctrlid#").$$secret.codebehind.cIndex; 
} 
else if(startAngle < 90 && startAngle > 0){ 
strStyle += "z-index:" + (--$$("#ctrlid#").$$secret.codebehind.cIndex); 
} 
else if(startAngle >=90 && startAngle < 270){ 
$$("#ctrlid#").$$secret.codebehind.cIndex += 2; 
strStyle += "z-index:" + $$("#ctrlid#").$$secret.codebehind.cIndex; 
} 
else{ 
strStyle += "z-index:" + (--$$("#ctrlid#").$$secret.codebehind.cIndex); 
} 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="id" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var domid = $System.genGUID(); 
domid; 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="onmouseover" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#titleid#" path="." attr="id" tdoc="t" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var startAngle = $$("#ctrlid#").$$secret.codebehind.cStartAngle; 
var offsetAngle = $$("#ctrlid#").$$secret.codebehind.angleOffset; 
var angleLine = ($$("#ctrlid#").$$secret.codebehind.cStartAngle + $$("#ctrlid#").$$secret.codebehind.angleOffset / 2) / 65536; 
var str; 
str = "$$('#ctrlid#').$$secret.codebehind.sectorOnMouseOver('#titleid#' , " + startAngle + " , " + offsetAngle + " , " + angleLine + " , " + $$("#ctrlid#").$$secret.codebehind.rad + ")"; 
//alert(str); 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="onmouseout" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#titleid#" path="." attr="id" tdoc="t" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var angleLine = ($$("#ctrlid#").$$secret.codebehind.cStartAngle + $$("#ctrlid#").$$secret.codebehind.angleOffset / 2) / 65536; 
var str; 
str = "$$('#ctrlid#').$$secret.codebehind.sectorOnMouseOut('#titleid#' , " + startAngle + " , " + offsetAngle + " , " + angleLine + " , " + $$("#ctrlid#").$$secret.codebehind.rad + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
</element> 
</foreach> 
<!--绘制图例开始--> 
<element name="div"> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var pContainer = $$("#ctrlid#").getDomObject(); 
var strStyle; 
var h = pContainer.style.pixelHeight - Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 4) - Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 8); 
var l = $$("#ctrlid#").$$secret.codebehind.bg.bgLeft + $$("#ctrlid#").$$secret.codebehind.bg.bgWidth + Math.ceil($$("#ctrlid#").$$secret.codebehind.rad / 10); 
var w = Math.ceil($$("#ctrlid#").$$secret.codebehind.maxItemNameLength / 8) * $$("#ctrlid#").$$secret.codebehind.rad + Math.ceil($$("#ctrlid#").$$secret.codebehind.rad / 12); 
strStyle = "border:solid 0px #FF0000;position:absolute;left:" + l + "px;top:" + Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 4) + "px;width:" + w + "px;height:" + h + "px;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<element name="table"> 
<attribute name="height" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var pContainer = $$("#ctrlid#").getDomObject(); 
var h; 
h = pContainer.style.pixelHeight - Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 4) - Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 8); 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="border" value="0" /> 
<attribute name="align" value="right" /> 
<element name="tr"> 
<element name="td"> 
<attribute name="align" value="left" /> 
<attribute name="valign" value="middle" /> 
<element name="table"> 
<attribute name="border" value="0" /> 
<attribute name="height" value="1" /> 
<attribute name="cellpadding" value="0" /> 
<attribute name="cellspacing" value="0" /> 
<foreach base="/item"> 
<element name="tr"> 
<element name="td"> 
<attribute name="align" value="center" /> 
<attribute name="valign" value="middle" /> 
<attribute name="height" value="1" /> 
<element name="div"> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var strStyle; 
var hw = Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 10); 
strStyle = "margin:0px;position:relative;top:0px;left:0px;border:0px solid #FF0000;width:" + hw + "px;height:" + hw + "px;padding:0px;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<element name="v:shape"> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var strStyle; 
var hw = Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 10); 
strStyle = "margin:0px;position:absolute;top:0px;left:0px;width:" + hw + "px;height:" + hw + "px;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="path" value="m 0,0 l 0,100 100,100 100,0 x e" /> 
<attribute name="coordorigin" value="0,0" /> 
<attribute name="coordsize" value="100,100" /> 
<element name="v:fill"> 
<attribute name="rotate" value="true" /> 
<attribute name="angle" value="180" /> 
<attribute name="focus" value="100%" /> 
<attribute name="type" value="gradient" /> 
<attribute name="color" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
if($$("#ctrlid#").$$secret.codebehind.sampleI == null){ 
$$("#ctrlid#").$$secret.codebehind.sampleI = 0; 
} 
var sColor; 
var sn = $$("#ctrlid#").$$secret.codebehind.sampleI; 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
//compute color. 
var ar = $System.UI.ColorUtil.genColorArrayOnItemNum(totalCount , 1 , 0.7); 
//$$("#ctrlid#").$$secret.codebehind.cColumnFillColor = ar[sn].r + "," +ar[sn].g + "," +ar[sn].b; 
sColor = "rgb(" + ar[sn].r + " " + ar[sn].g + " " + ar[sn].b + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="color2" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var sColor; 
var sn = $$("#ctrlid#").$$secret.codebehind.sampleI; 
var totalCount = $$("#ctrlid#").$$secret.codebehind.sectorCount; 
//compute color. 
var ar = $System.UI.ColorUtil.genColorArrayOnItemNum(totalCount , 0.5 , 1); 
//$$("#ctrlid#").$$secret.codebehind.cColumnFillColor = ar[sn].r + "," +ar[sn].g + "," +ar[sn].b; 
$$("#ctrlid#").$$secret.codebehind.sampleI++; 
sColor = "rgb(" + ar[sn].r + " " + ar[sn].g + " " + ar[sn].b + ")"; 
]]> 
</statement> 
</expression> 
</attribute> 
</element> 
</element> 
</element> 
</element> 
<element name="td"> 
<attribute name="height" value="1" /> 
<attribute name="width" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var ww; 
ww = Math.max(Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 30) , 5); 
]]> 
</statement> 
</expression> 
</attribute> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var strStyle; 
var hw = Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 8); 
strStyle = "margin:0px;padding:0px;height:" + hw + "px;line-height:1px;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<element name="br" /> 
</element> 
<element name="td"> 
<attribute name="height" value="1" /> 
<attribute name="align" value="left" /> 
<attribute name="valign" value="middle" /> 
<attribute name="nowrap" value="true" /> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var fs = Math.ceil($$("#ctrlid#").$$secret.codebehind.rad / 15) > 9 ? Math.ceil($$("#ctrlid#").$$secret.codebehind.rad / 15) : 9; 
strStyle = "padding:0px;margin:0px;height:1px;line-height:" + fs + "px;font-size:" + fs +"px;font-weight:bold;font-family: 'Microsoft YaHei',SimHei,Helvetica,STHeiti,Georgia, 'Times New Roman', Times, serif;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<text path="./name" /> 
</element> 
</element> 
</foreach> 
</element> 
</element> 
</element> 
</element> 
</element> 
<!--绘制图例结束--> 
<element name="div"> 
<attribute name="style" expression="true"> 
<expression> 
<paramlist> 
<param name="#ctrlid#" path="/" attr="controlguid" /> 
<param name="#sdocguid#" path="/" attr="guid" /> 
</paramlist> 
<statement> 
<![CDATA[ 
var w = $$("#ctrlid#").getDomStyle("pixelWidth"); 
var h = Math.floor($$("#ctrlid#").$$secret.codebehind.rad / 6); 
var fs = h > 14 ? h : 14; 
strStyle = "padding-top:" + Math.floor(fs / 4) + "px;font-size:" + fs + "px;text-align:center;border:solid 0px #FF0000;position:absolute;left:0px;top:0px;width:" + w + "px;height:" + (fs + Math.floor(fs / 4)) + "px;line-height" + (fs + Math.floor(fs / 4)) + "px;font-weight:bold;font-family: 'Microsoft YaHei',SimHei,Helvetica,STHeiti,Georgia, 'Times New Roman', Times, serif;"; 
]]> 
</statement> 
</expression> 
</attribute> 
<text path="/title" /> 
</element> 
</template>

转换代码
var ctrl1 = new $System.UI.Control("div005"); 
var srcdoc = $System.XML.XMLUtil.loadXMLFile("ria09\\style\\xmls\\graph_src.xml"); 
var tpldoc = $System.XML.XMLUtil.loadXMLFile("ria09\\style\\xmls\\graph_3dpie_tpl.xml"); 
ctrl1.renderE(srcdoc , tpldoc);

转换结果
xml文档转换工具,附图表例子(hta)
代码下载
Javascript 相关文章推荐
JS面向对象编程 for Cookie
Sep 19 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
Apr 27 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
浅析return false的正确使用
Nov 04 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 Javascript
微信小程序页面间值传递的两种方法
Nov 26 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
js实现三角形粒子运动
Sep 22 Javascript
使用Vue实现一个树组件的示例
Nov 06 Javascript
JavaScript中的宏任务和微任务详情
Nov 27 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
Nov 17 #Javascript
基于jQuery的图片大小自动适应实现代码
Nov 17 #Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 #Javascript
js封装的textarea操作方法集合(兼容很好)
Nov 16 #Javascript
PHP 与 js的通信(via ajax,json)
Nov 16 #Javascript
div层的移动及性能优化
Nov 16 #Javascript
自用js开发框架小成 学习js的朋友可以看看
Nov 16 #Javascript
You might like
深入解析php之sphinx
2013/05/15 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php用户注册信息验证正则表达式
2015/11/12 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
一些不错的js函数ajax
2008/08/20 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
继电保护工岗位职责
2014/01/05 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
暑期社会实践证明书
2014/11/17 职场文书
2014年司法所工作总结
2014/11/22 职场文书
企业工会工作总结2015
2015/05/13 职场文书
资产移交协议书
2016/03/24 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
linux中nohup和后台运行进程查看及终止
2021/06/24 Python