信息树和XML文件的遍历及XML文件的应用

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);
    }

转载于:https://www.cnblogs.com/salonliudong/archive/2007/02/01/637343.html

猜你喜欢

转载自blog.csdn.net/weixin_34341117/article/details/93290924
今日推荐