js分类中有一节【原生js异步请求,XML解析】主要说明了js前台是如何处理XML格式请求和如何接受由服务器返回的XML数据的解析,今天我将用一个实例来说明具体要如何操作.

前台的参数类型也是XML使用的是jquery:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    function test(){
    var xmlString ="<bookstore>"+
                    "<book Type='必修课' ISBN='7-111-19149-2'>"+
                    "<title>数据结构</title>"+
                    "<author>严蔚敏</author>"+
                    "<price>30.00</price>"+
                    "</book></bookstore>";
 
    $.ajax({
    type: "post",
    url: "Hand/Ajax.ashx",
    data: "strxml="+xmlString,
    datatype:"xml",
    success: function(xml){
        //根据resultText更新页面
        alert("success");
        alert($(xml).find('Table1').find('title').text());
    },
    error:function(XMLResponse){alert(XMLResponse.responseText)}
});
}

  前台出入的是XML格式的参数,后台该如何操作呢?这个有针对XML读写,这里就简单的说明一下:

1
2
XmlDocument xdoc = new XmlDocument();<br>//xml字符串操作
xdoc.LoadXml(strxml);//读取xml字符串strxml
// Add a price element.添加一个节点
XmlElement newElem = doc.CreateElement("price");
newElem.InnerText = "10.95";
doc.DocumentElement.AppendChild(newElem);//添加一个节点
1
xdoc.Load(fileName);//读取xml文件fileName是文件的路径

  以上简单说明LoadXml和Load简单用法,这里就不做详细说明。下面是后台处理前台的xml格式的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 得到根节点bookstore
XmlNode xn = xdoc.SelectSingleNode("bookstore");
// 得到根节点的所有子节点
XmlNodeList xnl = xn.ChildNodes;
// 将节点转换为元素,便于得到节点的属性值
XmlElement xe = (XmlElement)(xnl.Item(0));
// 得到Type和ISBN两个属性的属性值
string bookISBN = xe.GetAttribute("ISBN").ToString();
string bookType = xe.GetAttribute("Type").ToString();
// 得到Book节点的所有子节点
XmlNodeList xnl0 = xe.ChildNodes;
string bookName = xnl0.Item(0).InnerText;
string bookAuthor = xnl0.Item(1).InnerText;
double bookPrice = Convert.ToDouble(xnl0.Item(2).InnerText);

  后台处理之后,返回xml格式的数据,当然这个前提context.Response.ContentType = "text/xml";

1
2
3
4
DataSet ds = new DataSet();
ds = GetList();
context.Response.Clear();
context.Response.Write(ds.GetXml()); 

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private DataSet GetList()
{
    DataSet ds = new DataSet();
    DataTable dt = new     DataTable();
    dt.Columns.Add("title");
    dt.Columns.Add("author");
    dt.Columns.Add("price");
    DataRow dr = dt.NewRow();
    dr["title"] = "book1";
    dr["author"] = "matest";
    dr["price"] = 30.01;
    dt.Rows.Add(dr);
    ds.Tables.Add(dt);
    return ds;
}

这个是jQuery+Ajax+xml的应用

Ajax实现异步操作实例_针对XML格式的请求数据的更多相关文章

  1. Ajax实现异步操作实例_针对JSON格式的请求数据

    最近写了一篇ajax异步操作XML格式的,今天就写关于json格式的. 一.简单了解Json 1. JSON有两种表示结构,对象和数组. 1.1 对象: { key1:value1, key2:val ...

  2. XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

    1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一 ...

  3. Python解析Yahoo的XML格式的天气预报数据

    以下是Yahoo天气预报接口xml格式数据: <rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xm ...

  4. Spring Boot 2.x基础教程:如何扩展XML格式的请求和响应

    在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理.那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式 ...

  5. FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参

    *起因* 本来想用Chart.js来搞图表的, 但是来了个新需求,想搞的华丽点,毕竟对Chart.js来说,实现有点难度, *做出的改变* 最终选择了FusionCharts, *难点* 网上关于Fu ...

  6. python接口自动化-发xml格式post请求

    前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...

  7. ajax实现异步操作实例1

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. spring mvc接收参数方式,json格式返回请求数据

    1 使用方法形参使用变量接收提交的数据 2 在方法的形参中使用模型接收数据 3 如果在提交的表单中有多个数据模型,需要创建一个新的Bean,里面的属性是要接收的对象变量. 4 接收提交的日期字符串,转 ...

  9. R语言XML格式数据导入与处理

    数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...

随机推荐

  1. 【改】IOS-百度地图API用点生成线路、导航、自定义标注 2013年11月更新

    IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽IOS百度地图开发POISearch搜索附近停车场,附近加油站IOS百度地图视角跳到用户当前位置IOS百度地图开发实时路况IOS开发百 ...

  2. 百度地图开发的学习(一)——配置环境&基础地图

    由于项目需求缘故,最近在学习Android地图的开发,所以就记录一下学习过程.最近都会陆续更新啦.目前使用百度地图API的挺多的,所以就先以它为基础学习一些地图的调用. 一.AK的申请 与web开发不 ...

  3. IOS之UI -- UITableView -- 2 -- 等高的Cell

    内容大纲: 1.纯代码 添加子控件 2.Autolayout纯代码 -- Masonry框架的使用 3.自定义等高的cell -- storyboard的使用(更加简单) 4.静态cell 等高的Ce ...

  4. Effective Java 15 Minimize mutability

    Use immutable classes as much as possible instead of mutable classes. Advantage Easy to design, impl ...

  5. 比较全面的MySQL优化参考(上下篇)

    转自:http://imysql.com/2015/05/24/mysql-optimization-reference-1.shtml 本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨 ...

  6. Mongo 的相关增删改查

    1,Mongod 下载安装,请看https://www.mongodb.com/download-center 2,插入语句: MongoDB后台管理 Shell 如果你需要进入MongoDB后台管理 ...

  7. 烂泥:【解决】ubuntu提示ilanni不在sudoers文件中错误

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 今天在Ubuntu系统中新建一个用户ilanni,添加完毕后.在执行有关sudo的命令时,提示如下的错误信息:ilanni 不在 sudoers 文件中 ...

  8. JasperReports教程:Report Data Sources

    原文地址:http://www.tutorialspoint.com/jasper_reports/jasper_report_data_sources.htm Datasources是一个结构化的数 ...

  9. C和CPP关于条件运算符的区别

    条件运算符形式: cond ? expr1 : expr2; 在C语言中执行过程是: 先对cond求值,值为真返回expr1的值,否则返回expr2的值.(右值) gcc测试结果: 在Cpp中如果两个 ...

  10. Centos 6.5(64bit)上安装Vertica single node

    在Win8上使用虚拟机Virtualbox安装Centos6.5,想在上面安装vertica. 以下记录了我在安装的过程中遇到的问题与一些解决方案. 1.安装Centos的时候遇到了一个恼人的问题,即 ...