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.ajax)
Nov 19 Javascript
js正确获取元素样式详解
Aug 07 Javascript
jquery 弹出层实现代码
Oct 30 Javascript
jquery移动节点实例
Jan 14 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
May 11 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
浅析javascript函数表达式
Feb 10 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
Angular开发实践之服务端渲染
Mar 29 Javascript
重学JS之显示强制类型转换详解
Jun 30 Javascript
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
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
linux下安装php的memcached客户端
2014/08/03 PHP
php生成shtml类用法实例
2014/12/09 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
php实现微信支付之退款功能
2018/05/30 PHP
javascript 闭包疑问
2010/12/30 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
简单实现jquery隔行变色
2017/11/09 jQuery
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
详解python 发送邮件实例代码
2016/12/22 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python Tkinter版学生管理系统
2019/02/20 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
django 模版关闭转义方式
2020/05/14 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
python 如何在测试中使用 Mock
2021/03/01 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
Ruby如何进行文件操作
2014/07/17 面试题
大学同学聚会邀请函
2014/01/29 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
车位出租协议书范本
2016/03/19 职场文书
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript