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

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

 private void GetInfo(string eventArgument)
{
string _splitVal = eventArgument.Split('|')[];
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('|')[]+"'";
DataTable dt = this.m_CommonBLL.ADONETHelper.GetDataTableBySQL(CommandType.Text, sql);
if (dt != null)
{
if (dt.Rows.Count > )
{
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>2 </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的核心方法,这样一来,不仅解决了数据传输的前后台交互问题,而且还避免了特殊字符的存在,真的是很方便。

JS解析DataSet.GetXML()方法产生的xml的更多相关文章

  1. CSS控制XML与通过js解析xml然后通过html显示xml中的数据

    使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...

  2. JS解析XML文件和XML字符串

    JS解析XML文件 <script type='text/javascript'> loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览 ...

  3. js解析Json字符串的方法

      要把一个xml字符串转(“1,2,3,4,5,6,7,8,1,2”)换成数组的形式,每个值都应该是number类型的,想当然的就用了split方法,结果...问题来了,服务器要求数组的值是数字,而 ...

  4. js解析xml,获取XMl标签属性值

    <script type="text/javascript"> var xml="<?xml version=\"1.0\" enc ...

  5. 【001】JS解析,反解析XML的一些问题

    JS解析,反解析 XML 的一些问题 2016-03-25 15:38:28 星期五 文章底部下面有提供把 字符串 变成 XML 对象的方法. 该方法,在 Chrome48 ,FireFox ,IE1 ...

  6. JS解析json数据并将json字符串转化为数组的实现方法

    json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...

  7. js 解析XML 在Edge浏览器下面 无法准确读到节点属性值

    js 解析XML 在Edge浏览器下面 无法准确读到节点属性值 Dom.documentElement.childNodes[j].attributes[2]  这个是大众写法 在win10的edge ...

  8. node.js 解析xml BOM问题(xmlreader sax.js)

    Email:longsu2010 at yeah dot net 之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下 node.js解析xml(xmlreader) no ...

  9. node.js解析微信消息推送xml格式加密的消息

    之前写过一个解密json格式加密的,我以为xml的和json的差不多,是上上个星期五吧,我的同事也是在做微信公众号里面的消息推送解密,发现好像只能使用xml加密格式的发送到服务器,我们去年也做过企业微 ...

随机推荐

  1. Linux 介绍了相关的文件夹

    学习Linux,先了解Linux标准的文件夹结构是非常重要的,学习的一个很好的铺垫之后的行动.去罗列大而全的所有文件夹. 本文主要说明.笔者本人接触,须要了解的一些文件文件夹,当然本文也会不断的更新或 ...

  2. 用命令行在github新建一个项目

    Github Repository API中说明了可以通过发送一个请求来认证,之后就能通过命令行自动新建远程仓库了. 认证 curl -u 'username' https://api.github. ...

  3. 2014年辛星全然解读html第八节

    经过前面七节的学习,我感觉大家的HTML的功底也差点儿相同了,并且我特别的删去了某些东西,比方框架,假设回到几年前,那么框架是很流行的,可是如今都到了2014年了,这些东西早就该被遗忘了,因此,我果断 ...

  4. hdu 1426 Sudoku Killer ( Dancing Link 精确覆盖 )

    利用 Dancing Link 来解数独 详细的能够看    lrj 的训练指南 和 < Dancing Links 在搜索中的应用 >这篇论文 Dancing Link 来求解数独 , ...

  5. DevExpress XtraReports 入门五 创建交叉表报表

    原文:DevExpress XtraReports 入门五 创建交叉表报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪 ...

  6. hdu Oulipo(kmp)

    Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...

  7. Nyoj 网络的可靠性(水题)

    描述 A公司是全球依靠的互联网解决方案提供商,也是2010年世博会的高级赞助商.它将提供先进的网络协作技术,展示其”智能+互联“的生活概念,同时为参观者提供高品质的个人体验和互动,以”信息通信,尽情城 ...

  8. leetcode 之 Unique Paths

    Unique Paths A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagra ...

  9. 数据结构之Huffman树与最优二叉树

    最近在翻炒一些关于树的知识,发现一个比较有意思的二叉树,huffman树,对应到离散数学中的一种名为最优二叉树的路径结构,而Huffman的主要作用,最终可以归结到一种名为huffman编码的编码方式 ...

  10. hdu4324 Triangle LOVE (拓扑排序)

    这是一道最简单的拓扑排序题,好久没看这个算法了! 有点生疏了! 后附上百度的资料; #include<stdio.h> #include<string.h> int in[50 ...