【XML编程与WEB服务】XML入门

简介: 【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元素

  • 空元素
  • 非空元素

特殊字符数据引用

字符 字符引用(十进制) 字符引用(十六进制) 预定义实体引用
< &#60; &#x3c; &lt;
> &#62; &#x3e; &gt;
" &#34; &#x22; &quot;
' &#39; &#x27; &apos;
& &#28; &#x26; &amp;

CDATA段

格式:

<![CDATA["字符串"]]>

里面的“字符串”是纯字符,但是不能包含

]]>

空白处理

在XML文档中,可以在元素中使用一个特殊的属性xml:space,来通知应用程序保留此元素中的空白。xml:space 属性接受两个值。

▪default :此值允许应用程序根据需要处理空白。 如果不包含 xml:space 属性,结果与使用 default 值相同。

▪preserve :此值表示应用程序按原样保留空白,空白可能有含义。

相关文章
|
8天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
40 7
|
13天前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
53 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
2月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
103 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
3月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
79 3
|
3月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
47 1
|
3月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
3月前
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
133 14
|
4月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
209 69
|
4月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
96 12
|
4月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
82 9

热门文章

最新文章

  • 1
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    26
  • 2
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    20
  • 3
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    54
  • 4
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    339
  • 5
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 6
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    40
  • 7
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 8
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    22
  • 9
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    53
  • 10
    springSecurity学习之springSecurity过滤web请求
    60