我们前面的《Web服务初探:用Demo学Web服务系列》六个随笔中已经探讨完了C/S程序对Web Services的调用,大家感觉难吗?下面我们就有关的Web Services的原理讲解一下。
      有关XML的知识在网络上有不少的书籍讲解了,这里我们就不去研究其历史发展或与Web Services无关的知识,有兴趣的博友可以自己去找些类似的书籍阅读这些部分的内容。下面我们开始这个随笔的内容吧!

一、XML的基本语法:
1、标记语法
      知道和了解Html语法的人都了解标记的含义,XML也是如此,其实Html语言和XML语言都是来源于SGML语言的,因此两者有着非常类似的结构。下面我们分别来看两个简单的例子:

1<h1 Align="Center">这里是小写的HTML语言头</h1>
2<H1 ALIGN="Center">这里是大写的HTML语言头</H1>
3<!--这是HTML语言格式的两种情况-->
1<DataTable TableName="MyTable">这里是小写的XML数据</DataTable>
2<DATATABLE TABLENAME="MyTable">这里是大写的XML数据</DATATABLE>
3<!--这是XML数据的两种情况-->

对于Html语言来说是不区分大小写的,然而对于Xml语言则是区分大小写的,所以上面的例子中Html语言的两种情况是一样的,而Xml语言的两种情况则是不同。
      除了Xml语言的大小写区分外,还有一些编码等方面的知识,通常Xml文档默认是使用“UTF-8”,此编码在欧美常被使用,在亚洲并不通用。我们可以使用“UTF-16”。这两种编码要求被所有的Xml处理器支持。

2、Xml文档的结构
      所有正规的Xml文档都有一到三部分组成:序言(可选)、主体(必须)和尾声(可选)。

 1<?xml version="1.0" encoding="utf-8" ?> 
 2<!--这里是序言-->
 3<TextFile>
 4       <Line>A</Line>
 5       <Line>B</Line>
 6       <Line>C</Line>
 7</TextFile>
 8<!--这里是主体-->
 9<EOF/>
10<!--这里是尾声-->

3、标记的属性
      和Html语言中的标记属性可以不用引号引起来的语法不同,在Xml语言中标记属性必须用引号(单引或双引)引起来,其语法格式如下代码:

1<DataTable TableName="MyTable"></DataTable><!--这是正确的属性-->
2<DataTable TaleName=MyTable></DataTable><!--这是错误的属性-->

注:有关此方面的更多知识请参看Xml的有关书籍。

二、Xml文档在Web Services中的应用
      Xml文档在Web Services的应用主要是在Soap消息中,Soap消息是我们与Web Services通信的机制,而Soap消息中携带的Xml文档也是大家都能解释理解的数据存储文档。正如大多数讲述Soap消息的书籍中所举的例子一样,Xml文档就是信内容,而这封信内容可以被大多数阅读器所理解,Soap消息加上Http协议或者是Ftp协议则是这封信的信皮,其中写明了收信人的地址和姓名,收信人地址是指发送给哪个服务,姓名是指此服务中的哪个方法使用这封信中数据。

总结:我们这次简单的讲解了Xml文档的书写语法和在Web Services中Soap消息中的应用。Soap消息都是在后台被执行和解释的,所以我们都很难看到。下一篇随笔我们来更详细的讲解Soap消息,并结合前面所举的例子。

附:下面提供一些关于Xml的电子书籍的书名(本来想上传上来的,然而每本书籍都有20M左右,故只有提供书名,大家到百度搜索看看是否能下载到,并希望将你下载的连接发表到评论,方便其他的博友下载,万分感谢),本随笔的个别地方的讲解也参考了这些书籍:
《XML编程技术大全》、《XML高级编程》、《XML高级网络应用》和《XML手册(第4版)》。

转载于:https://www.cnblogs.com/lijigang/archive/2006/11/29/574112.html

Web服务初探:用Demo学Web服务系列(7)——XML的相关知识相关推荐

  1. linux的内核和发行版本号,【编测编学】linux内核及发行版本相关知识

    之前很多孩子就和我说老师我会linux,我就会反问,你学软件测试,你会linux你知道linux的东西如何和企业结合吗? 不是你只会一些cd.chmod.chown.ps.find.tar.vim.v ...

  2. php使用aws的sns服务初探(主要是短信服务)

    1.引入aws-sdk-php 使用composer安装:aws/aws-sdk-php 2.使用SnsClient类,生成sns服务对象 $snsClient = new SnsClient(['r ...

  3. 用.Net开发Windows服务初探

    用.Net开发Windows服务初探 1 什么是Windows服务         Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合.它没有用户界面,并且也不会产生任何 ...

  4. 2021年学web前端需要什么学历?

    学web前端需要什么学历?虽然当前职场正逐渐由学历型求职转变为技能型求职,企业越来越看重个人能力,对于学历没有之前那么硬性要求了,但并不是说学历就一点都没用了,学历高低依然是影响找工作不可忽视的因素. ...

  5. 从零开始学 Web 系列教程

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新-- github:https://github.com/Daotin/Web 微信公众号:前端队长 博客园:http://ww ...

  6. RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统

    在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解web站点的访问情况.但是由于access_log文件记录的信息太多,查看起来很不方便 ...

  7. python实现api server_使用Python的http.server实现一个简易的Web Api对外提供HanLP拼音转换服务...

    由于采集省市区镇数据需要对地名进行拼音转换,由于第三方高准确度接口对IP进行了限制,处理大量数据变得异常缓慢. 使用了一个折中的办法,省市区 3级(3千+)用高准确度接口(几乎没有拼错的地名),镇级( ...

  8. 使用Python的http.server实现一个简易的Web Api对外提供HanLP拼音转换服务

    由于采集省市区镇数据需要对地名进行拼音转换,由于第三方高准确度接口对IP进行了限制,处理大量数据变得异常缓慢. 使用了一个折中的办法,省市区 3级(3千+)用高准确度接口(几乎没有拼错的地名),镇级( ...

  9. Web Service 一些对外公开的网络服务接口以及http://www.webxml.com.cn/zh_cn/index.aspx

    Web Service 一些对外公开的网络服务接口 2011-10-29 14:12 商业和贸易: 1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) Endp ...

最新文章

  1. 【SQL 代码】Sql分页(自用)
  2. 芯讯通1月28号晚上八点直播-C-V2X产业链生态思考,关注易贸智慧互联公众号免费收听...
  3. 探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 - 聚类
  4. Acwing 1081. 度的数量(以及本人对数位dp的浅薄理解)
  5. dnf服务器合并信息,卤蛋带你看韩服!全体服务器合并改版信息互通
  6. cmd窗口pip显示不是内部或外部命令,也不是可运行的程序或批处理文件
  7. Python学习week4-set集合
  8. 斯坦福大学面向Tensorflow深度学习研究课程(2018)
  9. php 类中输出所有属性,PHP基于反射获取一个类中所有属性
  10. 格雷码转十进制 c语言,格雷码的转换方法
  11. 红外测距模块 51单片机_智能激光测距
  12. Ubuntu磁盘分区和挂载
  13. jquery boxy
  14. 实施不良资产证券化 信用评级不能少
  15. 如何将Tricaster非线性编辑的视频内容发布至网络进行网页直播
  16. CAR-T细胞治疗最新进展(2021年12月)
  17. Ubuntu16.04黑屏问题·搜狗拼音输入法无法显示·重装失败·修改密码失败·caffe安装错误
  18. 苹果加快自研脚步,被国产厂商逼的?
  19. PHP调用外部程序的方法解析
  20. 3d打印,机器人,计算机,3D打印的机器人将教孩子计算机编码!

热门文章

  1. linux强制格式化,linux – 如何格式化ifconfig的输出
  2. python合并列表并按升序排序_在python中按升序合并两个排序的链接列表:单链接列表指针更新问题...
  3. Qt on Andoird 添加开机启动页面
  4. 【小米面试题】-给定一个具体时间,计算时针与分针之间的角度
  5. 线性表应用之线性表算法设计六大经典案例
  6. 华大 MCU 之六 SEGGER Embedded Studio 及 Ozone 使用 Jlink 调试
  7. jQuery选择器介绍:基本选择器、层次选择器、过滤选择器、表单选择器
  8. MySQL / schema的概念
  9. python discuz搜索api_Python + Bottle + 谷歌搜索Api 实现简单搜索引擎
  10. java -jar 启动优化_Android 8.1 启动时间优化--耗时分析