隨筆-348  評論-598  文章-0  trackbacks-0
              /// <summary>
              
          /// XML解析器
              
          /// </summary>

              public class XmlParsers
              
          {
                  
          /// <summary>
                  
          /// 公共解析方法
                  
          /// </summary>
                  
          /// <param name="nodeList"></param>
                  
          /// <param name="treeNode"></param>
                  
          /// <param name="table"></param>

                  public static void Parse(XmlNodeList nodeList, TreeNodeCollection treeNode, Hashtable table)
                  
          {
                      
          foreach (XmlNode node in nodeList)
                      
          {
                          
          if (node.NodeType != XmlNodeType.Element)
                          
          {
                              
          continue;
                          }


                          TreeNode newTreeNode 
          = new TreeNode();
                          newTreeNode.Text 
          = node.Attributes["name"].Value;

                          
          //父節點
                          if (node.HasChildNodes)
                          
          {
                              Parse(node.ChildNodes, newTreeNode.Nodes, table);
                              treeNode.Add(newTreeNode);
                          }

                          
          else
                          
          {
                              
          //子節點
                              try
                              
          {
                                  
          //如果存在有id的節點則加入到table中
                                  
          //GISNode gNode = new GISNode();
                                  
          //gNode.Id = node.Attributes["id"].Value;
                                  
          //gNode.Name = node.Attributes["name"].Value;
                                  
          //gNode.Area = node.Attributes["area"].Value;
                                  
          //gNode.Latitude = node.Attributes["latitude"].Value;
                                  
          //gNode.Longitude = node.Attributes["longitude"].Value;
                                  
          //table.Add(gNode.Id, gNode);
                                  
          //treeNode.Add(gNode.Id, gNode.Name);

                                  treeNode.Add(node.Attributes[
          "id"].Value, node.Attributes["name"].Value);
                              }

                              
          catch (Exception ex)
                              
          {
                                  
          //否則丟棄
                              }


                          }


                      }

                  }


                  
          /// <summary>
                  
          /// 解析設備樹的方法
                  
          /// </summary>
                  
          /// <param name="filePath"></param>
                  
          /// <param name="tv"></param>
                  
          /// <param name="table"></param>

                  public static void ParseEquipmentXml(string filePath, TreeView tv, Hashtable table)
                  
          {
                     
                      XmlDocument xmlDoc 
          = new XmlDocument();
                      xmlDoc.Load(@filePath);

                      XmlNodeList nodeList 
          = xmlDoc.DocumentElement.ChildNodes;

                      tv.BeginUpdate();
                      tv.Nodes.Clear();
                      Parse(nodeList, tv.Nodes, table);
                      tv.EndUpdate();
                  }

              }
          簡單實用,不過如果XML都不相同的話可能要寫多個函數,后面有時間重構一下,通用一點。

          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2008-02-05 02:47 TiGERTiAN 閱讀(944) 評論(0)  編輯  收藏 所屬分類: DotNetMapXtreme
          專注移動開發--Windows Mobile, Android, iPhone, J2ME, BlackBerry, Symbian, Windows Phone

          慢慢混,慢慢學
          <2008年2月>
          272829303112
          3456789
          10111213141516
          17181920212223
          2425262728291
          2345678

          常用鏈接

          留言簿(43)

          隨筆分類(402)

          隨筆檔案(306)

          相冊

          我的好友們

          搜索

          •  

          積分與排名

          • 積分 - 813994
          • 排名 - 50

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 老河口市| 雷波县| 桑日县| 奉化市| 博客| 普格县| 苗栗县| 且末县| 牟定县| 合川市| 岚皋县| 巴彦县| 鄂州市| 莆田市| 安徽省| 常熟市| 修武县| 滕州市| 华亭县| 昂仁县| 连州市| 枞阳县| 太白县| 丹棱县| 济阳县| 延庆县| 聊城市| 台湾省| 万年县| 九龙县| 晋城| 蓬莱市| 昭觉县| 尉犁县| 连江县| 永修县| 江北区| 富顺县| 仁化县| 鹤庆县| 象州县|