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翻页效果
Jul 23 Javascript
struts2 jquery 打造无限层次的树
Oct 23 Javascript
js修改table中Td的值(定义td的单击事件)
Jan 10 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
Vue2.x中的Render函数详解
May 30 Javascript
vue左侧菜单,树形图递归实现代码
Aug 24 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
laydate如何根据开始时间或者结束时间限制范围
Nov 15 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
Vue-Cli项目优化操作的实现
Oct 27 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
Oct 30 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生成自己的LOG文件
2006/10/09 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
Python中的条件判断语句基础学习教程
2016/02/07 Python
Python正则简单实例分析
2017/03/21 Python
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
Python内建模块struct实例详解
2018/02/02 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
先进党支部事迹材料
2014/01/13 职场文书
干部下基层实施方案
2014/03/14 职场文书
购房意向书范本
2014/04/01 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python