首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >零java基础搞定微信Server_1_XML基础

零java基础搞定微信Server_1_XML基础

作者头像
twowinter
发布2020-04-17 11:50:05
发布2020-04-17 11:50:05
6270
举报
文章被收录于专栏:twowintertwowinter

原文发布于20150908的旧博客,重新整理于此。

XML基础

前前言

先扯一点无关的蛋,今天是七夕,所以今晚就不加班了,陪老婆去。朋友圈现在流传着一首有意思的歌谣,献给屏幕前的你,^_^

代码语言:javascript
复制
Single dog, single dog, single all the day. 
See AV, hit the plane, theyre doing all the day. Hey! 
Single dog, single dog, why not be a gay? 
No more wait, no more afraid, 
make him be a gay!

前言

在《微信硬件平台蓝牙demo服务端教程》中,可以看到好多个XML的例子。

完成本文的知识储备,你将明白这个XML结构体的意思。笔记内容大多来自于孙鑫《JavaWeb开发详解》,我从中梳理总结出必要的信息,帮助消化理解。

1.XML介绍

extensible markup language。它的特点是可创建新的标记,是创建标记语言的元语言。而HTML的标记都是固定的。例子中的<欢迎词>就是一个新的标记,下文中我还针对七夕节,应景地给出了

2.XML与HTML的比较

  • XML只描述数据和数据结构,而HTML还可以体现排版显示。
  • XML对文档格式要求更严格
  • XML有且仅有一个根元素

3.XML文档

3.1 XML声明

代码语言:javascript
复制
<?xml version="1.0" encoding="gb2312" standalone="yes"?>

3.2 文档类型声明

DTD(Document Type Definition),规范元素和属性的规则及相互关系。HTML就有一个标准的DTD文件,所以其组织结构和所有的标签都是固定的。

XML所用的DTD有两种形式:

  • 声明DTD在一个外部文件中 <!DOCTYPE greeting SYSTEM "hello.dtd">
  • 在XML文档中给出DTD <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]>

3.3 元素

元素由开始标签、元素内容、结束标签构成。

3.3.1 元素的形式
  • 空元素 <singdog/>
  • 带有属性的空元素 <singdog name="张全蛋" age="28"/>
  • 带有内容的元素 <singdog 这是一个学生信息 <name\>张全蛋</name> <age>28</age> />
  • 带有内容和属性的元素 <singdog name="张全蛋" <age>28</age> />
3.3.2 元素的构成

元素的内容可以包含子元素、字符数据、字符引用和实体引用、CDATA段。

  • 子元素

上文中的name和age都是单身狗的子元素。

  • 字符数据

特殊的字符“& < ]]>”不能用。

  • 字符引用和预定义实体引用

为了表示那些不能用的字符,可以采用这种方式,以&;的形式来引用。

我这边用markdown编辑这边笔记时,也输不了空格,只得用字符引用,道理上是相通的。

  • CDATA段

CDATA段中包含的是纯字符数据,可将整个本文解释为字符数据,内容不被XML解析。 CDATA段以字符串“

3.4 注释

代码语言:javascript
复制
<!--这是个注释--\>

3.5 处理指令

处理指令允许文档中包含由应用程序来处理的指令。处理指令的语法和XML声明类似,以<?开始,以?>结束,一个常见的样式表单的处理指令如下所示:

代码语言:javascript
复制
<?xml-stylesheet href="hello.css" type="text/css"?>

我们的应用程序可以根据这个xml-stylesheet的标识做相应的处理。 xml-stylesheet 总是放在XML声明之后,其他的指令的位置则没那么严格,但都不能放在XML之前。

3.6 空白处理

当XML传递给应用程序时,会自动去掉空白(空格、制表符和空行),而当需要保留空白的时候,需要用到这个属性,xml:space。

当元素中使用了这个属性,元素中的空白都将会保留。

3.7 行尾处理

当需要传递行尾控制字符时,使用 #xA #xD。

3.8 语言标识

标识出内容所使用的自然或人工语言,使用xml:lang

代码语言:javascript
复制
<p xml:lang="ch"\>单身狗</p>  
<p xml:lang="en"\>singledog</p>  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XML基础
    • 前前言
    • 前言
    • 1.XML介绍
    • 2.XML与HTML的比较
    • 3.XML文档
      • 3.1 XML声明
      • 3.2 文档类型声明
      • 3.3 元素
      • 3.4 注释
      • 3.5 处理指令
      • 3.6 空白处理
      • 3.7 行尾处理
      • 3.8 语言标识
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档