function Save()
{
//将INfomationTree中的不是Http开头的组,保存到本地,然后再从本地上传到服务器端
var IInformationTree = document.parentWindow.frameElement.document.frames["Frame0"].TE.interface("IInformationTree5");
var SiblingItemID;
var TempGroupName;
SiblingItemID = IInformationTree.GetNextItem(0, 11);
while(SiblingItemID != 0)
{
if(IInformationTree.IsGroup(SiblingItemID))
{
TempGroupName = IInformationTree.GetItemName(SiblingItemID);
if(TempGroupName.substr(0,3) != "http")
{
IInformationTree.SaveFlyLayer("TempGroupName",SiblingItemID);
UpLoadService(TempGroupName);
}
}
SiblingItemID = IInformationTree.GetNextItem(SiblingItemID, 13);
}
}
//上传到服务器
function UpLoadService(FileName)
{
var uploadCtrl;
uploadCtrl = new ActiveXObject("SDPFileUpdownLoad.FileUpDownLoadClient");
uploadCtrl.CallAgent = new ActiveXObject("SDPCallAgent.ScktCallAgent");
uploadCtrl.CallAgent.host = "10.72.1.135";
uploadCtrl.CallAgent.port = 223;
uploadCtrl.UpLoadFile('%userprofile%\\'+'Application Data\\Skyline\\TerraExplorer\\FileName');
// 实际的存储路径 C:\Documents and Settings\Administrator\Application Data\Skyline\TerraExplorer\sadfl.fly
}
function CallAppByParam(Param)
{
AppParam = parseInt(Param[Function]);
//根据参数的内容调用CallFunction
CallFunction(AppParam);
}
function CreateAppParam(XmlUrl,Name)
{
//从XML中读取参数并生成数组,返回
var tmAttributes = new Object();
// var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.loadXML(XmlUrl);
var SaveXmlArray = new Array();
var FeatureClassArray = new Array();
var StyleArray = new Array();
SaveXmlArray[Imag] = xmlDoc.childNodes[0].childNodes[0].text;
SaveXmlArray[Label] = xmlDoc.childNodes[0].childNodes[1].text;
SaveXmlArray[Hint] = xmlDoc.childNodes[0].childNodes[2].text;
SaveXmlArray[Function] = xmlDoc.childNodes[0].childNodes[3].text;
SaveXmlArray[Layer] = xmlDoc.childNodes[0].childNodes[4].text;
var FeatureNodesCount = xmlDoc.childNodes[0].childNodes[5].childNodes.length;
for(var p = 0;p < FeatureNodesCount;p++)
{
FeatureClassArray[p,0] = xmlDoc.childNodes[0].childNodes[5].childNodes[0].name;
FeatureClassArray[p,1] = xmlDoc.childNodes[0].childNodes[5].childNodes[0].text;
}
SaveXmlArray[FeatureClassName] = FeatureClassArray;
var StyleChildCount = xmlDoc.childNodes[0].childNodes[6].childNodes.length;
for(var q = 0; q < StyleChildCount; q++)
{
switch(q)
{
case Color:
StyleArray[Color] = xmlDoc.childNodes[0].childNodes[6].childNodes[q].text;
break;
case Font:
StyleArray[Font] = xmlDoc.childNodes[0].childNodes[6].childNodes[q].text;
break;
case FillColor:
StyleArray[FillColor] = xmlDoc.childNodes[0].childNodes[6].childNodes[q].text;
break;
case TransParent:
StyleArray[TransParent] = xmlDoc.childNodes[0].childNodes[6].childNodes[q].text;
break;
case Symble:
StyleArray[Symble] = xmlDoc.childNodes[0].childNodes[6].childNodes[q].text;
break;
}
}
SaveXmlArray[Style] = StyleArray;
return SaveXmlArray;
}
protected void Page_Load(object sender, EventArgs e)
{
string XmlPath = Request.QueryString["XMLname"].ToString();
CreatePage(XmlPath);
}
public void CreatePage(string Xmlname)
{
Table Tab = new Table();
XmlTextReader curXml = new XmlTextReader(Xmlname);
curXml.WhitespaceHandling = WhitespaceHandling.None;
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.Load(curXml);
curXml.Close();
XmlNode nodes = XmlDoc.DocumentElement;
for (int i = 0; i < nodes.ChildNodes.Count; i++)
{
TableRow Tr = new TableRow();
TableCell Tc = new TableCell();
Tab.Controls.Add(Tr);
Tr.Controls.Add(Tc);
XmlNode Cnodes = nodes.ChildNodes[i];
ImageButton Img = new ImageButton();
Img.ID = "btn" + i.ToString();
Img.ImageUrl = Cnodes.ChildNodes[0].InnerText;
Img.ToolTip = Cnodes.ChildNodes[2].InnerText;
Img.Attributes["XMLValue"] = Cnodes.OuterXml;
Img.Attributes["XmlName"] = Cnodes.Name;
Img.Attributes.Add("onclick", "javascript:var params = CreateAppParam(this.XMLValue,this.XmlName); CallAppByParam(params);return false;");
Tc.Controls.Add(Img);
Tc = new TableCell();
Tc.Font.Size = int.Parse(Cnodes.ChildNodes[6].ChildNodes[1].InnerText);
Tr.Controls.Add(Tc);
Label lbl = new Label();
lbl.ID = "label" + i.ToString();
lbl.Text = " " + Cnodes.ChildNodes[1].InnerText;
Tc.Controls.Add(lbl);
}
form1.Controls.Add(Tab);
}