人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

我在運(yùn)用C#中Treeview與解析XML遇到的問題

我在運(yùn)用C#中Treeview與解析XML遇到的問題

更新時(shí)間:2022-09-08 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

 近日我在用C#將PDM中相關(guān)內(nèi)容導(dǎo)入到TreeView的過程中,遇到一個(gè)很奇怪的問題,請各位大蝦指點(diǎn),謝謝!

private void ReadXml(string strFileName)
  {
   try
   {
         XmlDocument xmlDoc = new XmlDocument();
         xmlDoc.Load("c:\xxx.pdm");
         TreeNode rootNode = new TreeNode("PDM原始文檔結(jié)構(gòu)");
         trvXML.Nodes.Clear();
         this.trv_end.Nodes.Clear();
         tn_end2=new TreeNode("PDM表結(jié)構(gòu)");
         trv_end.Nodes.Add(tn_end2);
         XmlNodeList rootList = xmlDoc.ChildNodes;
         foreach(XmlNode xmlnode in rootList)
         {
               TreeNode tn = new TreeNode(xmlnode.Name);
               if (xmlnode.HasChildNodes)
               {
                     rootNode.Nodes.Add(tn);
                     AnalyseXML(xmlnode, tn);
               }
         }
   
         this.trvXML.Nodes.Add(rootNode);
   }
   catch(Exception ex)
   {
         MessageBox.Show(ex.Message);
   }
   
  }

private void AnalyseXML(XmlNode node, TreeNode tnode)
  {
   try
   {
    XmlNodeList xnlAll = node.ChildNodes;
    TreeNode tn_end=new TreeNode();
    TreeNode tn=new TreeNode();
    string strChineseName="";
    bool TagFlag=false;
    bool TagFlag2=false;
    foreach(XmlNode snode in xnlAll)
    {
     //形成PDM原始文檔功能樹
     if(snode.NodeType==XmlNodeType.Text)
     {
      tn = new TreeNode(snode.Value+"["+snode.NodeType.ToString()+"]");
     }
     else
     {
      tn=new TreeNode(snode.Name+"("+snode.NodeType.ToString()+")");
     }
     //形成PDM原始文檔功能樹完畢
     //填充PDM表結(jié)構(gòu)功能樹
     if(snode.NodeType==XmlNodeType.Element&&snode.ParentNode.Name.Equals("o:Table"))
     {
      //獲取表中文名
      if(snode.Name.Equals("a:Name"))
      {
       strChineseName=snode.FirstChild.Value;
      }
      //表英文名
      if(snode.Name.Equals("a:Code"))
      { 
       tn_end=new TreeNode(strChineseName+"["+snode.FirstChild.Value+"]",100,100);
       
       this.trv_end.TopNode.Nodes.Add(tn_end);
       this.trv_end.SelectedNode=tn_end;
       tn_end2=tn_end;
       TagFlag=true;
      }
      //表說明
      if(snode.Name.Equals("a:Comment"))
      { 
       TagFlag2=true;
       tn_end.Tag=snode.FirstChild.Value+"["+tn_end.Text.Substring(tn_end.Text.IndexOf("[")+1,tn_end.Text.IndexOf("_")-tn_end.Text.IndexOf("["));
      }
      if(TagFlag&&!TagFlag2)
      {
       tn_end.Tag="["+tn_end.Text.Substring(tn_end.Text.IndexOf("[")+1,tn_end.Text.IndexOf("_",tn_end.Text.IndexOf("["))-tn_end.Text.IndexOf("["));
      }
     }
     //填充PDM表結(jié)構(gòu)功能樹完畢
     //填充表各列字段
     if(snode.ParentNode.Name.Equals("o:Column")&&snode.ParentNode.ParentNode.Name.Equals("c:Columns"))
     {
      if(snode.Name.Equals("a:Name"))
      {
       tn_end=new TreeNode(snode.FirstChild.Value,1000,1000);
       trv_end.SelectedNode.Nodes.Add(tn_end);
       trv_end.SelectedNode=tn_end;
      }
      //字段英文名
      if(snode.Name.Equals("a:Code"))
      {
       tn_end=new TreeNode(snode.FirstChild.Value);
       trv_end.SelectedNode.Nodes.Add(tn_end);
      }
      //字段描述
      if(snode.Name.Equals("a:Comment"))
      {
       tn_end=new TreeNode(snode.FirstChild.Value);
       trv_end.SelectedNode.Nodes.Add(tn_end);
      }
      //字段類型
      if(snode.Name.Equals("a:DataType"))
      {
       tn_end=new TreeNode(snode.FirstChild.Value);
       trv_end.SelectedNode.Nodes.Add(tn_end);
       trv_end.SelectedNode=tn_end2;
      }
     }
     //各列字段填充完畢
     tnode.Nodes.Add(tn);
     if (snode.HasChildNodes)
     {
      AnalyseXML(snode, tn);
     }
    }
   }
   catch(Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
  }


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 遵义县| 舟山市| 外汇| 社会| 泰顺县| 永州市| 南丹县| 建水县| 什邡市| 忻城县| 清水河县| 屏东县| 灵石县| 芦山县| 九江市| 洛浦县| 民权县| 哈巴河县| 洪江市| 林芝县| 奎屯市| 武宣县| 兴业县| 柳河县| 新兴县| 华亭县| 乐亭县| 青浦区| 石城县| 琼结县| 鄯善县| 长岭县| 大名县| 石阡县| 通许县| 阿尔山市| 霍山县| 广宗县| 柳州市| 乌鲁木齐县| 信宜市|