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

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 如何对xml进行排序?

    我有一个 XML 文件 如下所示
  • 在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果

    我目前使用 CollapsingToolbarLayout 遇到的主要问题是 无论我尝试什么 工具栏的 minHeight 属性都没有任何效果 我想要的结果是这样的 CollapsingToolbarLayout 具有一定的展开高度和一定的
  • ElementTree 和 Element 有什么区别? (Python XML)

    from xml etree ElementTree import ElementTree Element SubElement dump elem Element 1 sub SubElement elem 2 tree ElementT
  • 使用 XML 时引用未声明的实体异常

    我正在尝试设置 xmldoc 的 innerxml 但出现异常 Reference to undeclaredEntity XmlDocument xmldoc new XmlDocument string text Hello I am
  • 在工具栏下显示内容

    您好 我试图简单地将我的内容放在工具栏下方 但是当我运行我的应用程序时 某些内容本应位于工具栏下方 却隐藏在工具栏后面 我已经阅读了有关使用框架布局来尝试将其分离的内容 但我有点卡住了 我目前正在使用该软件提供的基本 android stu
  • 如何将数据库查询的行转换为 XML 文件?

    我正在开发一个 Delphi 应用程序 该应用程序需要从一段工作中获取行并将其转换为单个 XML 文件 以便上传到第三方 Web 服务 有没有可用的组件或库可以做到这一点 如果不是 那么构建 DB2XML 转换器的最佳代码方法是什么 我注意
  • 使用 Retrofit 2 解析 XML

    我试图从央行获取汇率 不幸的是他们没有可以提供 JSON 数据的 api 仅在 XML 中 我正在使用 Retrogit 2 我已经创建了两个类 它们描述了我从网站获得的 xml 但是当我尝试获取回调的响应时 我收到了 404 错误代码 也
  • 为 XSD 中的元素指定命名空间

    我有一个 XML 需要为其生成 XSD 我的 XML 如下 实例
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • VBA XML V6.0 如何让它等待页面加载?

    我一直在努力寻找答案 但似乎找不到任何有用的东西 基本上 我是从一个网站上拉取的 当您在该页面上时 该网站会加载更多项目 我希望我的代码在加载完成后提取最终数据 但不知道如何让 XML httprequest 等待 Edited Sub p
  • python dicttoxml 多次使用相同的键

    我正在尝试做如下所示的 xml
  • 主题以编程方式设置。如何重新加载 Activity 来应用

    如何在不重新启动整个应用程序的情况下应用主题 如果我这样做startActivity getIntent finish 活动退出并且不重新启动 是否可以简单地重新启动 重新创建活动来应用主题 它的顺序不正确 finish intent ne
  • XPath 中的 ., 有什么用?

    为什么在某些 XPath 表达式中句号后面使用逗号 这是一个例子 Set nlist doc selectNodes book author first name starts with M 我试图用谷歌搜索这个 但字面意思 运算符似乎不喜
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • 如何在Android中解析xml类型的HTTPResponse

    我有一个 Android 应用程序 我使用 POST 方法来获取响应 这是我的代码 HttpResponse httpResponse httpclient execute httppost HttpEntity resEntity htt
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • 使用 Jackson 使用不带注释的属性来序列化 xml

    我目前正在使用 Jackson 编写一些代码 将遗留 POJO 序列化为 XML 但我需要使用属性而不是子元素来序列化它们 有没有办法使用 Jackson 来做到这一点 而不需要向遗留类添加注释 有没有办法使用 Jackson 来做到这一点
  • REXX 或 JCL 中的 XML 处理

    在 PS 文件中 我有如下 XML 数据 For ex

随机推荐