JS解析DataSet.GetXML()方法产生的xml

在实际的项目制作过程中,经常要采用ajax方式来进行,当然,这就免不了要进行数据交换。如果采用拼接字符串的方式来进行,不仅拼接的时候麻烦,而且在拆解的时候更加麻烦,一旦遇到特殊字符,那么就是灾难了。因此,现在目前流行的都是使用xml或者是json方式来进行。

下面来说明利用xml方式来进行数据传输的方式,首先看后台数据的形成:

 

  private   void  GetInfo( string  eventArgument)
    {
         
string  _splitVal  =  eventArgument.Split( ' | ' )[ 0 ];
         
if  (_splitVal.Equals( " getInfo " ))
         {
             
string  sql  =   @" SELECT a.gg_bt,b.lx_dm,a.gg_nr
                                      FROM DB_ZGFZ.T_NSFW_GGGL_ZB A
                                      LEFT JOIN DB_ZGFZ.T_NSFW_GGGL_DM_GGLX B
                                        ON A.GG_LXDM = B.LX_DM
                                      WHERE a.gg_id='
" + eventArgument.Split( ' | ' )[ 1 ] + " ' " ;
             DataTable dt 
=   this .m_CommonBLL.ADONETHelper.GetDataTableBySQL(CommandType.Text, sql);
             
if  (dt  !=   null )
             {
                 
if  (dt.Rows.Count  >   0 )
                 {
                     DataSet ds
= new  DataSet();
                     ds.Tables.Add(dt);
                     _str
= ds.GetXml();
                 }
             }
         }
    }

当然,这段代码就是利用了DataSet的GetXml()方式来进行,产生的XML数据结构如下:

 

< NewDataSet >
  
< Table1 >
    
< GG_BT > 供货价格将会 &lt;&gt; asdasd </ GG_BT >
    
< LX_DM > </ LX_DM >
    
< GG_NR > sdfsdf </ GG_NR >
  
</ Table1 >
</ NewDataSet >

 

可以发现,本xml中的NewDataSet和Table1都为系统自动生成,而GG_BT,LX_DM,GG_NR均为数据库中的字段,并且,该方法生成的xml已经自动的将特殊字符"<>"转义成了"&lt;&gt;",那么这段xml数据如何在前台进行解析呢?

前台解析代码如下:

 

var  xmlDoc  =   new  ActiveXObject( " MSXML2.DOMDocument " );
                xmlDoc.loadXML(arg);
                
var  gg_bt = xmlDoc.selectNodes( " NewDataSet/Table1/GG_BT " )[ 0 ].text;
                
var  gg_type = xmlDoc.selectNodes( " NewDataSet/Table1/LX_DM " )[ 0 ].text;
                
var  gg_nr = xmlDoc.selectNodes( " NewDataSet/Table1/GG_NR " )[ 0 ].text;
                $(
" #txtTitle " ).val(gg_bt);
                $(
" #ddlType option[value=' " + gg_type + '   ' + " '] " ).attr( " selected " , true );
                $(
" #txtNR " ).val(gg_nr);

上面代码中的黄色标注部分就是解析xml的核心方法,这样一来,不仅解决了数据传输的前后台交互问题,而且还避免了特殊字符的存在,真的是很方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值