E:CA1210/02MAR11/*XIYPEK  CNF/F8Y159                          737/808F
 F       Y 1     [[[2[[[[[    3 
   12      123456789012345678901234567  
R        L VC.*******CC***********CCCC LR   
RL C* L  K CCC*******CC***********CCCC KR   
RJ C. J  J XP...*****PP.**********CCCC JR   
R  ==      ==========EE===============  R   
L  ==      ==========EE===============  L   
LC C* C  C XC.VP*****CP**********.CCC  CL   
LA V* A  B CCC*******CC***********CCC  BL   
L        A CC.*******CC***********CCC  AL   
   12      123456789012345678901234567  
 F       Y 1     [[[2[[[[[    3 
------------------------------------------------------------------------------------------------------------
解析结果。
<?xml version='1.0' encoding='GB2312'?>
<lists>
<FlightMsg>
<Msg>CNF/F8Y159</Msg>
<Fmodel>737/808F</Fmodel>
<Airfoil>17,25</Airfoil>
<Rows>37</Rows>
</FlightMsg>
<Cols>
<name>A</name>
<Seat>V*________CC.*******CC***********CCC_</Seat>
</Cols>
<Cols>
<name>B</name>
<Seat>__________CCC*******CC***********CCC_</Seat>
</Cols>
<Cols>
<name>C</name>
<Seat>C*________XC.VP*****CP**********.CCC_</Seat>
</Cols>
<Cols>
<name>=</name>
<Seat>==________==========EE===============</Seat>
</Cols>
<Cols>
<name>J</name>
<Seat>C.________XP...*****PP.**********CCCC</Seat>
</Cols>
<Cols>
<name>K</name>
<Seat>__________CCC*******CC***********CCCC</Seat>
</Cols>
<Cols>
<name>L</name>
<Seat>C*________VC.*******CC***********CCCC</Seat>
</Cols>
</lists>
要求点击按钮将字符串转换成xml显示在Memo里边。本人新手求解释。

解决方案 »

  1.   

    这就是航空定座的一个分布图,里边就是座位的情况,比如上边的数字12345对应左边的字母,我现在想分割出这里边的字符串然后转成xml形式显示。如:左边一个memo里边方的是字符信息,右边一个memo放的是xml中间有一个按钮控制转换。
      

  2.   

    用正则控件PerlRegEx吧,按自己需求制定每行的正则表达式,其它应该都好办了……
      

  3.   

    自己看得懂 就写个函数分割下
    剩下的XML操作也简单
      

  4.   

    delphi我是初学很多函数都不太清楚,这个需求就是取出所有解析出的xml数据,然后显示。不需解析xml,其实就是相当于分割出相应的数据然后添加在各个节点。我现在就是不知道具体什么函数怎么分割。
      

  5.   

    估计得用一些字符串操作函数,比如取左边的几个字符进行分析,或取右边的几个字符拿出来进行分析,delphi有一些字符串操作函数,搜一下可以找到,pos函数可能也用得到。