XML与HTML区别,XML解析

1.什么是XML

  XML即ExtentsibleMarkupLanguage(可扩展标记语言),是用于网络上数据交换的语言。它没有标签集,也没有语法规则,但是它有句法规则。任何XML文档对任何类型的应用以及正确的解析都必须是良构的,即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的,但并非一定要求有效。所谓有效文档是指其符合其文档类型定义的文档。如果一个文档符合一个模式的规定 ,那么这个文档是模式有效的。

 

2.什么是HTML

  HTML即Hyper Text Markup Language(超文本标记语言),是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。

 

.HTML与XML之间的关系

  HTML与XM都是标记语言,都是基于文本编辑和修改的,其实他们之间并没有非常必然的联系,我们需要知道XML不是要替换HTML,实际上XML可以视作对HTML的补充,他们只不过是两种不同用途的标记语言


.HTML与XML之间的区别

目标 :HTML的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容,它的显示形式靠CSSXSL帮完成。

语法:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则大小敏感,即区分大小写。

更新:XML允许粒度更新,不必在XML文档每次有局部改变时都发送整个文档的内容,只有改变的元素才必须从服务器发送到客户机,而HTML却不支持这样的功能。

可读性:HTML侧重于网页数据表现形式的定义和描述,欠缺对文档数据含义的确切描述,不能适应对于日益增多的各类信息进行传递与存档的需求。例如<H2>Apple</H2>,在浏览器中显示的Apple,人们并不知道它具体是水果还是一个手机,HTML并不能解释数据Apple的含义;而XML不会给大家这个错觉如果描述的是水果中的苹果的话它会很清楚的这样表示<水果>Apple</水果>。所以说HTML的可读性相对较差。

还有一点就是XML标记由架构或文档的作者定义,并且是无限制的。HTML 标记则是预定义的;HTML 作者只能使用当前 HTML 标准所支持的标记。


.问题再现

问题1:做网站的时候选用哪种语言好呢?

答:对于大型网站来说,由于更新量较大,不宜用HTML来做,由于XML支持动态更新,可以采用,但也不一定是最佳选择;而对于小型网站,为了提高页面反应速度,采用HTML书写比较好吧。

问题2:HTML与XML可以互相转换吗?

答:可以,为了更好地适应客户端浏览器的浏览,可以在服务器端进行XML-〉HTML的转换,但普通静态空间不支持这种转换,可以选择支持XMLDOM的ASP或PHP服务器进行。

问题3:XML与HTML孰优孰劣?

答:事实上XML与HTML之间没有可比性,虽然它们之间有一定的联系,但各自的功能和目标(着重点)不一样,应用的场合不一样,有一点需要提的是,XML相对于HTML标准性更强。

----------------------------------------------------------分----------------割-------------------线----------------------------------------------------------------

1、XML与HTML的区别

XML 不是对 HTML 的替代 ,XML 是对 HTML 的补充。

XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。
对 XML 最好的描述是:XML 是独立于软件和硬件的信息传输工具。

比较内容HTMLXML  
可扩展性不具有扩展性是元标记语言,可自定义新的标记
作用焦点是数据的外观,旨在显示信息被设计来传输和存储数据,焦点是数据的内容
语法要求不要求标记的嵌套、配对等,不要求标记之间具有一定的顺序严格要求嵌套、配对,遵循统一的顺序结构要求 
可读性可维护性难于阅读、维护 结构清晰、便于阅读、维护 
数据与格式数据和格式在一起数据和格式分离






2、XML解析

XML解析方式分为两种:DOM方式和SAX方式
DOM:Document Object Model,文档对象模型。这种方式是W3C推荐的处理XML的一种方式。
SAX:Simple API for XML。这种方式不是官方标准,属于开源社区XML-DEV,几乎所有的XML解析器都支持它。

XML解析开发包
JAXP:是SUN公司推出的解析标准实现。JDK
Dom4J:是开源组织推出的解析开发包。(SUN公司的一些技术的实现都在用)
JDom:是开源组织推出的解析开发包。

3、JAXP

JAXP:(Java API for XML Processing)开发包是JavaSE的一部分,它由以下几个包及其子包组成:(javase api)
org.w3c.dom:提供DOM方式解析XML的标准接口
org.xml.sax:提供SAX方式解析XML的标准接口
javax.xml:提供了解析XML文档的类

javax.xml.parsers包中,定义了几个工厂类。我们可以通过调用这些工厂类,得到对XML文档进行解析的DOM和SAX解析器对象。
DocumentBuilderFactory
SAXParserFactory
对xml进行解析   首先要获取到解析器

javax.xml.parsers 包中的DocumentBuilderFactory用于创建DOM模式的解析器对象 , DocumentBuilderFactory是一个抽象工厂类,
它不能直接实例化,但该类提供了一个newInstance方法 ,这个方法会根据本地平台默认安装的解析器,自动创建一个工厂的对象并返回。
调用 DocumentBuilderFactory.newInstance() 方法得到创建 DOM 解析器的工厂。
调用工厂对象的 newDocumentBuilder方法得到 DOM 解析器对象。
调用 DOM 解析器对象的 parse() 方法解析 XML 文档,得到代表整个文档的 Document 对象,进行可以利用DOM特性对整个XML文档进行操作了。
DOM模型(document object model)
DOM解析器在解析XML文档时,会把文档中的所有元素,按照其出现的层次关系,解析成一个个Node对象(节点)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值