导读:上回书说到,XML和HTML有着各自的不同点,综合表现在:1,HTML只是Web显示数据的通用方法,而XML提供了直接处理Web数据的通用方法。2,HTML着重描述Web页面的显示格式,而XML着重描述Web页面的内容。3,在外观上,HTML和XML差不多,但是XML却有着HTML文档无法比拟的语义性。注:XML文档可以转换为HTML文档。现在,本篇博客则主要用一个图书信息文档的实例,从语义性上分析HTML和XML的不同,其他的联系区别,将在后续的博客中分析。

一、用HTML编写图书信息文档

1.1,HTML代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><html>
<head><title>用HTML表现图书信息的文档</title></head>
<body>
<h3 align="center">使用HTML的文档<HR/></h3>
<table border="1" cellpadding="5" align="center">
<tr>
<th>书籍名称</th>
<th>作者</th>
<th>出版商</th>
<th>价格</th>
</tr>
<tr align="center">
<td>数字图像处理学</td>
<td>陈秋琦</td>
<td>电子工业出版社</td>
<td>49.00</td>
</tr>
<tr align="center">
<td>C++Builder 开发技术</td>
<td>李东,王宏</td>
<td>水利水电出版社</td>
<td>35.00</td>
</tr>
<tr align="center">
<td>VC++编程技术</td>
<td>高强</td>
<td>人民邮电出版社</td>
<td>35.00</td>
</tr>
</table>
</body>
</html></span>

1.2,效果(Firefox)

二、用XML编写图书信息文档

2.1,代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<booklibrary>
<book>
<title>数字图像处理学</title>
<author>陈秋琦</author>
<publisher>电子工业出版社</publisher>
<price moneytype="RMB">49.00</price>
</book>
<book>
<title>C++Builder开发技术</title>
<author>李东</author>
<author>王宏</author>
<publisher>水利水电出版社</publisher>
<price moneytype="RMB">40.00</price>
</book>
<book>
<title>VC++编程技术</title>
<author>高强</author>
<publisher>人民邮电出版社</publisher>
<price moneytype="RMB">35.00</price>
</book>
</booklibrary></span>

注意,XML处理器只能处理以UTF-8或者UTF-16编码的实体。刚开始是想直接标记中文简体,将encoding属性直接写成了gb2312,不知道怎么回事,一直出现的都是中文乱码。改成UTF-8之后就好了。

2.2,效果(Firefox)


三、总结

从上面的实例中可以看出,从HTML和XML文档中各抽出一条代码,那么将很难识别HTML中的代码是什么意思,但是,XML却有很强的语义性,随便抽出一条代码,都表示着它具体的含义。
XML怎么才能像HTML那样有很好看的样式呢?XML的定义声明又是怎样的呢?接着看我总结吧。

【HTML/XML 4】实例分析HTML和XML的不同的更多相关文章

  1. iOS - 分析JSON、XML的区别和解析方式的底层是如何实现的(延伸实现原理)

    <分析JSON.XML的区别,JSON.XML解析方式的底层是如何实现的(延伸实现原理)> (一)JSON与XML的区别: (1)可读性方面:基本相同,XML的可读性比较好: (2)可扩展 ...

  2. 【krpano】加密XML手动解密分析

    krpano允许对XML文件进行加密,对XML进行相应的保护.加密分为两种,第一种为公共加密,即允许其他krpano全景读取该XML,而另一种为私有加密,仅允许加密的用户读取XML.两种加密方式的算法 ...

  3. JSON与XML优缺点对比分析

    本文从各个方面向大家对比展示了json和xml的优缺点,十分的全面细致,有需要的小伙伴可以参考下. 1. 定义介绍 1.1 XML定义 扩展标记语言 (Extensible Markup Langua ...

  4. SAX方式解析XML文件实例

    books.XML文件: 书籍book.java实体类: public class Book { private String id; private String name; private Str ...

  5. XML,Object,Json分析转换Xstream采用

    XML,Object,Json转换之浅析Xstream的使用 请尊重他人的劳动成果,转载请注明出处:XML,Object,Json转换之浅析Xstream的使用 XStream的是一个简单的库.主要用 ...

  6. dom4j解析xml字符串实例

    DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml ...

  7. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  8. 装配SpringBean(三)--XML方式实例

    前一篇文章中已经介绍了XML方式装配bean的方式,本文将综合这些方式举一个实例并进行测试,我会把所有类型的参数都放在同一个类中进行测试,下面是我的类结构: 上图是我画的一个基本结构,可以看出该类中有 ...

  9. DuiLib 源码分析之解析xml类CMarkup & CMarkupNode cpp文件

    时隔5个月才有时间接着写未完成的实现部分,也是惭愧呀 选几个关机的函数来解析,一些get方法就忽略掉吧 CMarkupNode 与 CMarkUp 互为友元类,CMarkUp 实现解析,CMarkup ...

随机推荐

  1. 520 Detect Capital 检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确.我们定义,在以下情况时,单词的大写用法是正确的:    全部字母都是大写,比如"USA".    单词中所有字母都不是大写,比如&q ...

  2. scau 1144 数星星 bit + 扫描线的思想

    这题如果用二维树状数组,则会直接爆内存. 那么可以运用扫描线的思路. 就是,它同时被x和y限制了,那么可以在查询的时候,确保x先满足了,(把x按小到大排序) 然后就相当于是关于y的一个一维bit了, ...

  3. qconbeijing2017

    http://2017.qconbeijing.com/schedule 第一天 (2017年4月16日/星期日)   签到 专题 主题演讲 快速进化的容器生态 微服务与 DevOps 最佳实践(厂商 ...

  4. C#中构造函数和析构函数区别

    把对象的初始化工作放在构造函数中,把清除工作放在析构函数中.当对象被创建时,构造函数被自动执行.当对象消亡时,析构函数被自动执行.这样就不用担心忘记对象的初始化和清除工作. 析构函数是由垃圾回收器控制 ...

  5. AJPFX简述abstract class和interface的区别

    含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是 ...

  6. 洛谷P2764 最小路径覆盖问题(二分图)

    题意 给出一张有向无环图,求出用最少的路径覆盖整张图,要求路径在定点处不相交 输出方案 Sol 定理:路径覆盖 = 定点数 - 二分图最大匹配数 直接上匈牙利 输出方案的话就不断的从一个点跳匹配边 # ...

  7. 来,一起梳理下Android响应点击事件的方法

    一.设置setOnClickListener 这应该是最原始的方法了吧,来,先上代码: 布局文件: <Button android:id="@+id/button1" and ...

  8. Android Gradle与Gradle插件的对应关系

    查看链接 https://blog.csdn.net/dazhong2012/article/details/80585834

  9. 第一次提交代码到github时经常遇到的问题

    最近两年在OpenStack方面做了一些工作,写了一些实验性的plugin. 本着Open Source的共享精神,想尝试提交到github,以便他人能下载使用. 当你注册完github帐号之后,点击 ...

  10. Android(java)学习笔记168:Activity 4 种启动模式

    1. 任务栈(task stack): 任务栈 是用来记录用户操作的行为,维护一个用户体验. 一个应用程序一般都是由多个activity组成的. 任务栈(task stack)记录存放用户开启的act ...