本帖最后由 bleach001 于 2011-04-07 12:30:19 编辑

解决方案 »

  1.   

    取得<string>节点的值,先split("^"),每个元素split(",")
      

  2.   

     string str = "2011-5-1,0730,0940,CA,1831,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V195月1号的航班,";
                string[] newstr = str.Split(',');
                for (int i = 0; i < newstr.Length; i++)
                {
                    Response.Write(newstr[i].ToString()+"<br/>");
                }依次类推。
      

  3.   


    string html=@"2011-5-1,0730,0940,CA,1831,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V19^
    2011-5-1,0745,0950,CA,1883,F5A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,PVG,738,0,1,0,1,DS,M19V19^
    2011-5-1,0830,1040,CA,1501,F9A0P0C9D0Z0R0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,777,0,1,0,1,DS,M19V19^
    2011-5-1,0930,1140,CA,1519,F9A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,330,0,0,0,1,DS,M19V19^2011-5-1,1130,1340,CA,1557,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V19^2011-5-1,1330,1540,CA,1517,F9A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,767,0,1,0,1,DS,M19V19^2011-5-1,1400,1605,CA,934,F8A0P0C9D0Z0R0Y9B0M0H0K0L0Q0G0S9N0V0U0W9T0E0*9,T3|T2,PEK,PVG,340,0,1,0,1,DS,M10V10^2011-5-1,1430,1640,CA,1521,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,0,0,1,DS,M19V19^2011-5-1,1530,1740,CA,1515,F9A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,772,0,0,0,1,DS,M19V19^2011-5-1,1600,1810,CA,175,C9D0Z0R0Y9B0M0H0K0L0Q0G0S7N0V0U0W0T0E0*9,T3|T2,PEK,PVG,330,0,0,0,1,DS,M10V10^2011-5-1,1630,1840,CA,1549,F9A0P0Y9B9M9H9K0L0Q0G0S9N0V5W9T9E0*9,T3|T2,PEK,SHA,330,0,0,0,1,DS,M19V15^2011-5-1,1730,1940,CA,1855,F9A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,772,0,1,0,1,DS,M19V19^2011-5-1,1830,2040,CA,1995,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V5W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V15^2011-5-1,1945,2155,CA,1857,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V19^2011-5-1,2000,2215,CA,986,F8A0P0C9D9Z7R2Y9B0M0H0K0L0Q0G0S7N0V0U0W0T0E0*9,T3|T2,PEK,PVG,340,0,1,0,1,DS,M10V10^2011-5-1,2030,2240,CA,1589,F6A0P0Y9B9M9H9K0L0Q0G0S9N0V9W9T9E9*9,T3|T2,PEK,SHA,738,0,0,0,1,DS,M19V19";
       string[] query=(from s in html.Split('^')
                 from t in s.Split(',')
     select t).ToArray();
     
      

  4.   

    思路:
    1、根据 xml 获得 所有信息 
    2、根据 [^] 进行分割
    3、根据 [,] 进行分割
    代码://----xmlStr 返回来的字符串
     //如果 是想保存到集合的话: 建立一个List集合和 对象进行存储 
     //List<信息类> list = new List<信息类>;
     XmlDocument xmlDoc = new XmlDocument();
     xmlDoc.LoadXml(xmlStr);
     String allStr = xmlDoc.SelectSingleNode("string").InnerText;
     froeach(String str in allStr.Split('^'))
     {
          froeach(String strs in str.Split(','))
          {
              //信息类 tmp = new 信息类;
             //--- 取出所有信息 2011-5-1,0730,0940,CA,1831,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V19
             // 对信息类进行相应赋值 
             // list.add(tmp);       
     
          }
     }
      

  5.   


    做机票的好像好多信息都是用"^"这个符号分隔的,你就把他 用split('^') 截取成数组,
    使用循环遍历数组里的每一项,每一项都是一个航班信息。
    例如:
    2011-5-1,0730,0940,CA,1831,F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,T3|T2,PEK,SHA,333,0,1,0,1,DS,M19V19这就是一架班机的信息,你需要在使用逗号把他变成数组 split(','),然后使用下标(例如 flights[0]标示航班日期,flights[1]出发时间,flights[2]到达时间),从数组里取出来数据。F9A0P0J9Y9B9M9H9K0L0Q0G0S9N0V9W9T9E0*9,这一节还需要再截取一下,就是两个字符标示一个舱位,你这个里面没有“A”,那意思就应该是:
    F舱:9个以上的剩余位置
    A舱:0个位置
    P舱:0个位置
    J舱:9个以上就是说如果是几,就是相应的舱位剩余的位置说,黑屏里大于9个应该显示A的,你这没有就只能是9了
      

  6.   

    不过挺搞笑的,我测试的时候老是喜欢输 sha-pek
      

  7.   

    我弱弱的问一句,你用的不是 IBE 吧?
      

  8.   

    将返回对象Rsp传入一个函数:类似于这样
    function Gr(Rsp)
        {
        C.G("Rt").innerHTML=eval("({"+Rsp.documentElement.firstChild.nodeValue+"})").Msg;
        }