信息树和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
總結
以上是生活随笔為你收集整理的信息树和XML文件的遍历及XML文件的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ExtJs TreePanel 不能加载
- 下一篇: HTTP MIME type