XML初步了解

XML:可扩展性标记语言。看起来跟HTML很像。

一、XML与HTML

功能:

二者都是一种标记语言,并不是一种编程语言

HTML:超文本标记语言 ,主要用来进行页面显示和布局

XML:可扩展性标记语言,主要用来携带数据,核心是传输和包含数据

应用:1、配置文件中使用XML来编写

2、ajax和webservice中传输数据

3、异构平台中的数据交换和整合

语法:

二者均包含标签,语法格式基本相同,例如二者均运用了<></>来分别表示标签的开头和结束。

HTML的标签是系统已经规定好的,比如<hn>代表标题,<tr>代表表格中的行,但是HTML对大小写不敏感。

XML中的标签是用户自定义的。只允许包含一个根元素,对大小写敏感。

除以上这些外,由于XML中的标签是用户自定义的,因此,为了方便各种系统或浏览器之间的通信方便,可以人为的为XML指定一个文档结构即定义一个XML文档的语法和结构的一个规则性的文件即DTD和Schema技术。

二、DTD和Schema

功能:

二者均用来定义XML文档的结构,为其提供统一的语法和规则。可以内置或外置。同样声明时,利用System关键字来区分。

DTD结构:

XML:

元素:(仅包含一个根元素)<!ElEMENT 元素名称 类别>或<!ElEMENT 元素名称 (内容)>

此外利用EMPTY来表示空元素,利用ANY表示任何元素

同时,对元素的个数和顺序等都可以进行规定

属性(含有属性值,必须有引号)

实体:使用实体前必须进行声明

声明时,分为外部:<!ENITITY 实体名称 “实体的值”>,多个实体引用间用;隔开

内部:<!ENITITY 实体名称 System “实体的值”>

PCDATA:元素中只包含文本内容时,用#PCDATA来标识。如:<!ELEMENT 书名(#PCDATA)>

CDATA:将内容原样输出,不识别特殊标识符。

Schema:

与XML最大的不同便是schema技术支持数据类型的定义,能够保护数据通信。比如<xs:element name="body" type="xs:string"/> 即定义名称body为string类型。

以上是有关XML最基础的内容。简单概括一下:如图:

三、XML文档的一个小应用:

在asp.NET中讲到一个小例子,关于XML文档在web服务中的应用。

1、在VS中添加一个webservice1.asmx在代码中写入自己想要执行的具体方法,即在webmethod中填写方法,如下:

 public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod()Description="欢迎用户"]  //一个文本method相当于定义了一个方法
        public string HelloWorld(string name)
        {
            return "欢迎"+name;
        }

        [WebMethod(Description ="获取库存!")] //description用来描述该方法的作用
        public DataSet GetStore()
        {
            SqlConnection conn = DB.CreateConnection();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from store", conn);
            DataSet ds = new DataSet();
            sda.Fill(ds, "store");
            return ds;
        }

        [WebMethod (Description="A向B进行转账")]
        public string  AtoB(int sum)
        {
            try
            {
                 //从A从减去sum
                this.Decrease(sum);

            //在B中加上sum
                this.Increase(sum);
            return "成功!";
            }
            catch
            {
                return "失败";
            }

        }
        //从A中减去相应数目的钱
        public void Decrease(int sum)
        {
            SqlConnection conn = DB.CreateConnection();
            conn.Open();
            SqlCommand cmd=new SqlCommand ("update aaa set money=money-"+sum.ToString ()+"where account='A'",conn);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
        //在B中加上相应数目的钱
        public void Increase(int sum)
        {
            SqlConnection conn = DB.CreateConnection();
            conn.Open();
            SqlCommand cmd = new SqlCommand("update aaa set money=money+" + sum.ToString() + "where account='B'",conn);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
    } 

在浏览器中运行后结果显示:

可以看到,它将我们在webservice中定义的web方法全都显示在此了。点击上面可调用的方法,会出现具体执行的步骤:

点击服务说明后,我们会发现下面这个界面:

会发现,这其实就是一个XML文档,其中的内容很多看的不是特别明白,但是仔细发现,里面具体的内容使我们在webservice1后代代码中所写好的内容。而,然后,我们再在VS中新建一个web窗体,添加webservice的服务引用,就可以直接调用webservice中我们之前编写好的方法了。

然后猜想,XML文档就是大家所说的通过它可以突破地域和消除了不同平台之间不同格式规格的差别,使它们之间通信更加方便。就像是一个解释器,但是这个解释器提供了一种大家共同认可的解释方式,来为大家服务。

时间: 2024-12-15 09:53:48

XML初步了解的相关文章

xml初步,DTD和Schema约束

XML 可扩展的标记语言(!!!可扩展) 作用 1.存放数据 2.配置文件 语法 文档声明 <?xml version="1.0" encoding="UTF-8"?> 1.文档声明必须为<?xml开头,以?>结束: 2.文档声明必须从文档的0行0列位置开始: 3.文档声明只有2个属性: version 版本 encoding 编码 元素 <bean></bean> 1.必须开始结束 2.标签由开始标签,元素体,结束标

login-webflow.xml初步分析

开源的CAS已经很多牛人分析过了,最近在看源码,也总结一下 在login-webflow.xml中,初次访问应用的flow轨迹是: 1 <on-start> <evaluate expression="initialFlowSetupAction" /> </on-start> 2 <decision-state id="ticketGrantingTicketExistsCheck"> <if test=&qu

Android中XML数据解析

转载请注明出处:http://blog.csdn.net/yegongheng/article/details/38296207 XML初步 今天我们来学习另一种非常重要的数据交换格式-XML.XML(Extensible Markup Language的缩写,意为可扩展的标记语言),它是一种元标记语言,即定义了用于定义其他特定领域有关语义的.结构化的标记语言,这些标记语言将文档分成许多部件并对这些部件加以标识.XML 文档定义方式有:文档类型定义(DTD)和XML Schema.DTD定义了文

XML学习小结

XML(可扩展标记语言) 什么是可扩展标记语言? 1.可扩展标记语言是一种很像超文本标记语言的标记语言. 2.它的设计宗旨是传输数据,而不是显示数据. 3.它的标签没有被预定义,需要自行定义标签. XML & HTML 1.XML不是HTML的替代品,更像是对HTML的补充. 2.XML主要用来传输和包含数据.HTML主要用来显示. 3.XML标记由架构或文档的作者定义,而HTML标记是预定义的. DTD  & XML Schema DTD的作用是定义XML的合法构建模块,它使用一系列的合

Python爬取CSDN博客文章

之前解析出问题,刚刚看到,这次仔细审查了 0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.windows下环境搭建 3.java里连接redis数据库 4.关于认证 5.redis高级功能总结1.基础底层数据结构1.1.简单动态字符串SDS定义: ...47分钟前1 url :http://blog.csdn.net/youyou1543724847/

开发文档共享地址

如果想获取软件开发电子文档,请前往博客http://u.union.kankan.com/y2MZna http://www.gxp.cc/file-2310976.html   [XSLT]XSLT.2.0.Programmers.Reference.Third.Edition.eBook-LiB.zip http://www.gxp.cc/file-2310983.html   [win32api]新编WINDOWSAPI大全.zip http://www.gxp.cc/file-23109

XML限制、初步WEB服务

DTD <!DOCTYPE 根元素 [ <!ELEMENT 元素 (a,b,c)>//必须按照根元素包含abc顺序排列 <!ATTLIST 属性 > ]> 引用方式:<!DOCTYPE 根元素 SYSTEM “文件地址”> 这里SYSTEM也可以为PUBLIC,文件后缀为dtd 元素 限制词汇: EMPTY.(#PCDATA).ANY 属性 限制词汇: #REQUIRED.#IMPLIED.#FIXED CDATA.(e1|e2|…).ID Scheam 知

J2EE学习笔记02 Server.xml知识点及Servlet初步

内容概要: 1.继续讲解server.xml中的一些设置知识点 2设置外部WEBAPP及使用根目录开发 3.重头戏Servlet及相关知识 关键词: TomCat,web.xml,connectionTimeout="20000" ,appBase = "webapps",线程池配置,servlet版的HelloWorld 详细内容: 一.继续讲解server.xml中的一些设置知识点 接下来,我们还是看我们的TomCat. 我们上节课呢,我们开发了myweb,我们

android XML动画初步解析(activity界面之间跳转demo)

上一篇文章android 简单地设置Activity界面的跳转动画讲了简单的activity界面之间的跳转,并且使用的是android内置的一些动画,此章就小提一下如何自己写一些动画来进行跳转. 按例,还是上一下效果:(结尾附上源码)     要自己写动画,首先要对动画的一些属性有一定了解: interpolator:被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等. an