零java基础搞定微信Server_1_XML基础学习

XML基础

前前言

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

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声明

<?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 注释

<!--这是个注释--\>

3.5 处理指令

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

<?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

<p xml:lang="ch"\>单身狗</p>
<p xml:lang="en"\>singledog</p>


为了一个特殊字符可搞死宝宝了,这篇笔记一直发不出去。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 22:57:54

零java基础搞定微信Server_1_XML基础学习的相关文章

零java基础搞定微信Server

自从打通了微信client到BLE设备端的通道.我的工作就转移到了server端了.微信的BlueDemoServer是以java编写,而本尊仅仅懂得嵌入式,对JavaWeb一窍不通. 本尊贵为IOT的弄潮儿.下定决定要了结这件事. 索性就写一个系列的学习笔记,督促自己,名字叫"零java基础搞定微信Server",记录下我这样零java基础的人应该怎样应对web服务端. 我的计划是让系列中的文章结合BlueDemoServer进行分析,目的是尽快的掌握这个项目所需的基础技术.不在关系

教你一招搞定微信朋友圈照片模糊不清

我们在微信朋友圈发照片时会发现图片变模糊了,有一些齿边,不够清晰,这是因为微信默认启用了图片压缩功能,减小图片大小,节省流量.有强迫症的同学肯定会有不爽的赶脚,ytkah教你一招搞定微信朋友圈照片模糊不清. 1.发送照片的时候,点击右下角的“+”号按钮,然后选择“照片”. 2.选中要发送的照片后,点击左下角的“预览”(这个是重点).在预览照片的左下角看到一个“原图”单选,点中后发送,就可以将未压缩的原照片进行发送了. 这样选原图发送朋友圈,照片就不会模糊了,赶紧去试试吧!

***单文件搞定微信支付和支付宝支付

这段时间做微信支付和支付宝支付集成,发现了一个不错的开源代码 简单快捷,单文件即可搞定微信支付和支付宝支付. 单文件搞定微信支付系列: https://github.com/dedemao/weixinPay weixinPay 一个PHP文件搞定微信支付系列 网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义. 一个PHP文件搞定支付宝系列请移步:https://github.com/d

9小时搞定微信小程序开发

第01讲-小程序的背景 第02.第2讲-什么是小程序 第03讲-小程序生态及应用前景 第04讲-小程序开发前的准备 第05讲-安装微信开发者工具 第06讲-小程序代码结构简介 第07讲-小程序配置文件介绍 第08讲-开发者工具详解(一) 第09讲-开发者工具详解(二) 第10讲-创建第一个小程序 第11讲-开发框架组成介绍 第12讲-WXML之语法 第13讲-WXML特性之数据绑定 第14讲-WXML特性之列表渲染 第15讲-WXML特性之条件渲染 第16讲-WXML特性之模板及引用 第17讲-

腾讯工程师教你9小时搞定微信小程序开发

下载地址:百度网盘下载 课程介绍本课程从最基础的微信小程序开发工具使用开始讲起,带你走完从写出第一个 HelloWorld 到构建出第一款属于自己的微信小程序的完整学习路线.课程共有八大模块:模块一:微信小程序介绍与开发准备模块二:上手第一个微信小程序模块三:微信小程序开发框架模块四:微信小程序开发之原生组件模块五:微信小程序开发之原生 API模块六:微信小程序开发进阶之核心技能模块七:微信小程序开发项目实战案例模块八:微信小程序开发实战注意事项与进阶指导 课程详细大纲 原文地址:https:/

搞定微信告警-工具篇

https://github.com/OneOaaS/weixin-alert weixin-alert 本项目是一个企业微信消息发送的程序,可以作为运维告警使用,支持任意可调用的运维系统,包括Zabbix,Nagios,shell脚本 支持Zabbix的告警,使用方法见微信公众号 http://url.cn/4A37R4z Zabbix告警的使用方法 脚本位置: wget https://raw.githubusercontent.com/OneOaaS/weixin-alert/master

使用localtunne一分钟搞定微信公众号接入

??记得15年那个刚刚进入工作的时候,公司有个微信公众号的项目,那个时候微信官方没有什么调试工具,也没有什么比较好的本地调试工具.当时有个功能需要调用微信JSSDK里面的扫一扫的功能.由于本地不能调试.开发起来很烦.每次都需要把代码上传到测试服务器,然后在测试.这样耗费了不少时间.前几天之前的同事再次开发公众号的时候.出了一些问题.然后在讨论的时候.得知了一个微信公众号本地开发的神器"localtunne".可以自己本地直接调试开发微信公号.调用JSSDK.使用非常简单. 什么是loc

极客时间 9小时搞定微信小程序开发

链接: https://pan.baidu.com/s/1CPpsLv5WjvLO8kTu3rNaQA 提取码: bfz3 复制这段内容后打开百度网盘手机App,操作更方便哦 微信小程序是一种全新的连接用户与服务的方式,与 App 相比,它用之即来,用完即走,用户再也不必担心被各种 App 拖慢手机运行速度和消耗存储空间. 微信小程序正式发布一年多来,已推出 58 万个微信小程序,日活跃账户超过 1.7 亿个,已经有不少团队拿到千万级甚至上亿的融资. 高磊,腾讯 NOW 直播前端工程师,IVWE

免费报表工具零代码零基础轻松搞定 web 报表

话说,能制作清单式报表的方式有千千万: 骨灰级的 Excel 控,如果能轻车熟路驾驭 VBA,也能玩出各种花来,再不济借助图表插件外援也能秒杀一众小白选手: 传说中的编程控,只要需求明确没什么做不了的,什么酷炫图形 Echarts 几十行代码,分分钟秀出新花样: 天外飞仙 R 语言控,玩的一手数据挖掘,可视化自不在话下: 爬数据达人 Python 控,手握 matplotlib 包闯天下…… 这么多工具,虽然都能满足我们的需要,但不是每一个报表开发人都能怀揣上述技能的,那么,有没有一款工具可以照