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 相关文章推荐
基于Jquery的标签智能验证实现代码
Dec 27 Javascript
将两个div左右并列显示并实现点击标题切换内容
Oct 22 Javascript
php析构函数的具体用法小结
Mar 11 Javascript
判断访客终端类型集锦
Jun 05 Javascript
JavaScript学习笔记整理_关于表达式和语句
Sep 19 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
详解handlebars+require基本使用方法
Dec 21 Javascript
详解微信小程序中的页面代码中的模板的封装
Oct 12 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
JavaScript 原型与原型链详情
Nov 02 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 Token(令牌)设计
2008/03/15 PHP
php header示例代码(推荐)
2010/09/08 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
PHP经典设计模式之依赖注入定义与用法详解
2019/05/21 PHP
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
JS自动生成动态HTML验证码页面
2017/06/14 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
在Python中使用SQLite的简单教程
2015/04/29 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
详解python中asyncio模块
2018/03/03 Python
numpy数组广播的机制
2019/07/12 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
手工制作的意大利皮革运动鞋:KOIO
2020/01/05 全球购物
任课老师推荐信范文
2013/11/24 职场文书
教学实习自我评价
2014/01/28 职场文书
财务出纳岗位职责
2014/02/03 职场文书
岗位说明书怎么写
2014/07/30 职场文书
志愿服务心得体会
2016/01/15 职场文书
初三语文教学反思
2016/03/03 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
对讲机知识
2022/04/07 无线电
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库
利用Redis实现点赞功能的示例代码
2022/06/28 Redis
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python