【XML编程与WEB服务】XML入门
XML -入门
XML(Extensible Markup Language):可扩展的标记语言
作用:提供了一套跨平台、跨网络、跨程序语言的数据描述方式
目的:描述与表达数据,使数据 在不同设备、程序之间实现数据互通
【扩展】发展史:
1969:GML 通用标记语言
1985:SGML 标准通用标记语言
1993:HTML 超文本标记语言
1998:XML 可扩展标记语言
1999:XML -> XHTML 可扩展超文本标记语言
……
XML -> SVG:可缩放矢量图形语言
XML -> SMIL:同步多媒体综合语言
XML -> HDML:手持设备标记语言
XML -> OEB:开放电子结构规范
……
分类:
- 格式不良好的XML文档
- 格式良好的XML文档
- 有效XML文档
符合XML语法规范(符合规则定义)的是良好的XML文档,符合DTD等约束文件约束的是有效XML文档
XML文档组成
XML声明
<?xml version="1.0|1.1"[ encoding="编码方式"] [standalone=”yes|no”]?>
[属性说明]
version: 必需包含该属性,指明以下文档遵循哪个版本的XML规范。该属性必须放在其它属性之前,属性的合法值为1.0或1.1。
encoding:该属性可以被省略,指明文档中要采用的字符编码方式。当省略该属性时,属性的默认值为utf-8。
standalone:该属性可以被省略,指定该XML文档是否和一个外部文档配套使用。该属性为yes是说明当前XML文档是一个独立的XML文档,与外部文件无关联。否则相反。当省略该属性时,属性的默认值为yes。
<?xml version="1.0" encoding="utf-8"?>
version必须填写,``encoding`可以不填写文档类型声明
元素
注释
<!-- -->
注释不能出现在XML文档声明之前,注释内容不能出现“--”
处理指令
处理指令(Processing Instructions,简称PIs)允许文档中包含由应用程序来处理的指令。在XML文档中,有可能会包含一些非XML格式的数据,XML处理器无法处理这些数据,我们就可以通过处理指令来通知其它应用程序来处理这些数据。
处理指令(PI)的语法和XML声明类似,以“<?”开始并以“?>”结束。常见的使用样式表单的处理指令如下所示。
<?xml-stylesheet href="hello.css" type="text/css"?><?xml-stylesheet href="hello.xsl" type="text/xsl"?>
XML文档规则
1.【强制】必须有XML声明语句
2.【重要】XML标记大小写敏感
标记名字应该具有描述性,单词与单词之间可以使用下划线连接,但名称应该尽可能简洁;
在标记名称中间尽量避免使用“-”、“.”、“:”容易造成歧义;
非英语的字母比如éòá也是合法的XML元素名,但要避免使用,因为某些软件不支持这些特殊字符。
3.【强制】属性值必须使用引号""或''
4.【强制】XML标记必须有对应的结束标记(例如:<tag>str</tag>),如果是空标记,也必须关闭(例如<tag/>)
5.【重要】所有XML元素必须合理包含
6.所有标记以外的空白都会被保留(空白包括空格、制表符、空行)
7.【强制】特殊字符必须用相应的符号来代替
8.【强制】一个XML文档有且仅有一对根标签
XML元素
- 空元素
- 非空元素
特殊字符数据引用
| 字符 | 字符引用(十进制) | 字符引用(十六进制) | 预定义实体引用 |
|---|---|---|---|
< |
< |
< |
< |
> |
> |
> |
> |
" |
" |
" |
" |
' |
' |
' |
' |
& |
 |
& |
& |
CDATA段
格式:<![CDATA["字符串"]]>,里面的“字符串”是纯字符,但是不能包含]]>
空白处理
在XML文档中,可以在元素中使用一个特殊的属性xml:space,来通知应用程序保留此元素中的空白。xml:space 属性接受两个值。
default :此值允许应用程序根据需要处理空白。 如果不包含 xml:space 属性,结果与使用 default 值相同。
preserve :此值表示应用程序按原样保留空白,空白可能有含义。
【XML编程与WEB服务】XML入门的更多相关文章
- Java Web Services (1) - 第1章 Web服务快速入门
SCRIPTS_DIR=/Users/liuzhaofu/opus-dev/product/tools/devPRODUCT_DIR=/Users/liuzhaofu/opus-dev/product ...
- Reporting Service编程----访问Web服务
将报表服务器 Web 服务的引用添加到项目中后,下一步是创建 Web 服务代理类的实例. 然后,您可以通过调用代理类中的方法来访问 Web 服务的方法. 当你的应用程序调用这些方法时,代理类生成的代码 ...
- XML编程与应用-读取XML
实例:使用XmlTextReader类的对象读取XML文档 代码如下 using System; using System.Collections.Generic; using System.Linq ...
- JAVA与.NET的相互调用——通过Web服务实现相互调用
JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候 ...
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
XPAth技术 XPath的设计的核心思想,可以通过xpath迅速简介的定位到你希望查找的节点.主要目的是描述节点相对其他节点的位置,可以取得所有符合条件的节点,成为[位置路径]. Xapth主要用来 ...
- Web 服务编程,REST 与 SOAP(转)
原文地址:Web 服务编程,REST 与 SOAP REST 简介 在开始我们的正式讨论之前,让我们简单看一下 REST 的定义. REST(Representational State Transf ...
- Azure机器学习入门(四)模型发布为Web服务
接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run" ...
- WCF入门(三)---WCF与Web服务/Web Service
下面列出了WCF和Web服务之间存在一些重大差异. 属性:WCF服务是通过定义ServiceContract和OperationContract属性,而在Web服务,WebService和WebMet ...
- 【Java】Web 服务编程技巧与窍门: 在 UDDI 注册中心为 Web 服务注册开发 UDDI Java 应用程序
本技巧建立了一个使用统一描述.发现和集成 (Universal Description, Discovery, and Integration,UDDI) 来注册应用程序级消费的 Web 服务实例.作 ...
- Xamarin.Android 入门实例(2)之实现WCF 寄宿于IIS 的Web服务提供
1.WCF 契约 ICalculator.cs using System.ServiceModel; namespace Contracts { [ServiceContract] public in ...
随机推荐
- 在 Exchange Server 中配置特定于客户端的消息大小限制
在 Exchange Server 中配置特定于客户端的消息大小限制 微软官方详细文档如下: https://learn.microsoft.com/zh-cn/exchange/architectu ...
- C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- manim边学边做--极坐标平面
PolarPlane,顾名思义,是用于创建极坐标平面的类. 与笛卡尔坐标系不同,极坐标系是基于角度和半径来定位点的,这里的每个点由一个角度和距离原点的距离表示. 在Manim中,PolarPlane通 ...
- Java高并发,ArrayList、HashSet、HashMap不安全的集合类
首先是我们的ArrayList: 这次我们讲解的是集合的不安全,首先我们都知道ArrayList吧! List<String> list=new ArrayList<>(); ...
- QT creator中cmake管理项目,如何引入外部库(引入Eigen库为例)
在Eigen的官网下载压缩包[点我进入] 解压到当前项目的根目录(当然你也可以自己选择目录) 在当前项目的CMakeLists.txt任意位置加入这句话include_directories(${CM ...
- 关于 PyCharm 2024安装使用 (附加永久激活码、补丁)
第一步:下载安装包 访问 IDEA 官网,下载安装包,下载链接如下 : https://www.jetbrains.com.cn/pycharm/ 第二步,安装完成之后,下载补丁 下载地址(里面包含激 ...
- python实现基于RPC协议的接口自动化测试
01什么是RPC RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议.从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程的 ...
- 科技论文在methodology部分应该使用什么语态?
什么神奇的事情,在计算机领域的论文中,如果没有特殊的必要非要用过去式,那么一律使用一般现在时,十分神奇. 或许在计算机领域论文中这一点比较特殊,也可能是大家都这么用也就这样了. 总结来说,在计算机领域 ...
- SynthID Text 现已发布|在 AI 生成文本中应用不可见水印的新技术
你是否难以分辨一段文本是由人类撰写的,还是 AI 生成的?识别 AI 生成内容对于提升信息可信度.解决归因错误以及抑制错误信息至关重要. 今天,Google DeepMind 和 Hugging Fa ...
- ExtJS & Asp.NET
企业应用中,要快速开发Web应用,前端使用ExtJS还行,包含许多常用的控件,图标,配色方案... 帖上部分载图: 完全可订制的登录界面: 可调整的布局: 可综合使用的模态对话框: 树结构及动态加载: ...