</linestops>
 - <stop>
   <!--站点-->
   <stops id="1">
     <name>数字</name>
     <vlue>181医院</vlue>
     </stops>
   <stops id="2">
     <name>?</name>
     <vlue>电子科大,东江,东江市场,东镇路,凤北路口,火车站,教育学院,旅游批发城,南溪公园,南溪医院,十一中学,西风路口,西凤路,西门菜市,西门市场,象山区政府</vlue>
   </stops>
   <stops id="3">
     <name>A</name>
     <vlue>矮山塘,安新小区,奥林匹克花园,澳洲花园,澳洲假日</vlue>
   </stops>
</stop>
</linestops>我想用一个二维数组来保存以上数据,第一列存name,第二列存vlue,请问一下怎么实现。

解决方案 »

  1.   

               建议你用LIST,比较方便。
    比如:
                 List<Stop> list=new List<Stop>();
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load("XML文件路径");
                System.Xml.XmlNodeList nodes = doc.DocumentElement.SelectNodes("//stops");
                if (nodes != null)
                {
                   foreach(XmlNode node in nodes)
                   {
                         string name= node.ChildNodes[0].InnerText;
                         string value=node.ChildNodes[1].InnerText;
                         list.Add(new Stop(name,value));                }            }
                STOP定义如下
    public class Stop
    {
      public string Name{get;set;}
      public string Value{get;set;}
      public Stop(string name,string value)
      {
         this.Name=name;
         this.Value=value;
      }
    }
    你自己改成数组吧。
      

  2.   

    C#读取XML文件,并显示出来:读取XML是通过创建"XmlNodeReader"对象来实现的,"XmlNodeReader"对象主要是用来可以读取XML的节点数据。在本文的程序中使用到了一些"XmlNodeReader"的属性,譬如"NodeType"属性,用来判断读取得节点是什么类型。"Value"是节点的值。下面是读取XML文件并显示在ListView中的实现代码,其中listview1是已经创建ListView组件:while ( reader.Read ( ) )   {  //判断当前读取得节点类型  switch ( reader.NodeType )  {  case XmlNodeType.Element :  s = reader.Name ;  break ;  case XmlNodeType.Text :  if ( s.Equals ( "Name" ) )  myItem = Listview1.Items.Add ( reader.Value ) ;  else  myItem.SubItems.Add ( reader.Value ) ;  break ;  }  } 
      

  3.   

    System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
      doc.Load("");
      System.Xml.XmlNodeList nodes = doc.SelectNodes("//stops");
            foreach (XmlNode xn in nodes)
            {
                XmlElement xe = (XmlElement)xn;
                Response.Write(xe.GetAttribute("name"));
            }
    可使用List<T>或Dictionary等保存
      

  4.   

    while ( reader.Read ( ) )   {  
    //判断当前读取得节点类型 
     switch ( reader.NodeType )  
    {  case XmlNodeType.Element :  
    s = reader.Name ;  
    break ;  
    case XmlNodeType.Text :  
    if ( s.Equals ( "Name" ) )  
    myItem = Listview1.Items.Add ( reader.Value ) ;  
    else  
    myItem.SubItems.Add ( reader.Value ) ;  
    break ;  
    }  
    }
      

  5.   

    我就是用数组保存。因为我的数组在下面有用的。不用LIST。
      

  6.   

    我觉得使用dictionary是最好的选择Dictionary dic = new Dictionary ();
    dic.Add("name","value");如果要用数组存必须先申请一个足够大的数组
    string[][] strs = new string[100][];
     System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
      doc.Load("XML文件路径");
      System.Xml.XmlNodeList nodes = doc.DocumentElement.SelectNodes("//stops");
      if (nodes != null)
      {
    int i=0;
      foreach(XmlNode node in nodes)
      {
     strs[i] = new String[2]
     strs[i][0]= node.ChildNodes[0].InnerText;
     strs[i][1 ]=node.ChildNodes[1].InnerText;
      i++;  }
      

  7.   

    不这边也有一个XML文档读不来