xml与html的根本区别是什么?

html-css010

xml与html的根本区别是什么?,第1张

Xml的语法和HTML类似,都以一对相互匹配的起始和结束标记符号来标识信息。但是二者之间功能不同,HTML是用于显示数据信息,而XML的标记则是用于描述数据的性质和结构,两者之间的区别如下:\x0d\x0a1.HTML将数据和其显示效果混在一起,它是一种表现技术,定义如何显示信息的标签;而XML文档只是存储了数据和描述了数据之间的关系,并没有规定如何显示数据,即将数据和其显示进行了分离。\x0d\x0a2.HTML的格式要求比较松散,而HTML解析器通常采用尽量解释的机制,这样容易造成同一个页面在不同的浏览器中可能显示出大不相同的结果。而XMlL是非常严格的标记语言,如:严格区分大小写等问题。\x0d\x0a3.HTMl的标记集合是固定的,你不能在自己的应用中扩展HTML标记;而XML没有提供一组事先已经定义好的标签,只是提供了一个标准,可以按照这个标准来定义自己专用的标记,所以XML的标记是可以无限的扩展的,它可以用于描述各种应用领域的数据信息。\x0d\x0a4.XML允许粒度更新,不必在XML文档每次有局部改变时都发送整个文档的内容,只有改变的元素才必须从服务器发送到客户机,而HTML却不支持这样的功能。\x0d\x0a总结:XML不是HTML的升级,也不是HTML的代替产品,虽然两者之间相似,但他们的应用领域和范围完全不同。HTML的最终版本是HTML 4.01,HTMl目前已经不是Web标记的标准,它已经被XHTML所取代,XHTML是HTML和XML的混合物,它全采取的是XML的语法和规则来编写Web页面。XHTML有效的结合了HTML的简单性和XML的可扩展行,它所运用的标记和属性基本上还是HTML中定义的标记。XML可以应用在金融、科研等各个领域,XHTML只是XML在Web领域的一种应用。

我给你些我的建议吧

HTML的语法格式比XML宽松多了,真正XML格式的网页是XHTML,也就是下一代HTML,他的格式和XML差不多,很严谨的。

如果你不想利用某些HTML和XML互转工具,自己编的话,有一定难度。

1.HTML的节点可以没末节点,你需要不停扫描<,>,/,这三个符号以检查是否漏掉末节点,并补充。

2.HTML节点还可以不规则嵌套,你需要对已读入节点进行顺序存储,或用栈的数据结构来存储,并验证其层次正确性,最终正确顺序的节点,期间还得缓存节点值,或属性值。

3.HTML不同于XML,许多HTML节点有特殊的意义,许多HTML节点比如<b>,<hr/>都需要经过特殊处理才行。

在技术上,为保证性能,还要在一下方面有加强。

1.强大的字符串扫描,和解析器,此工作也巨大,但网上源码很多,建议到google英文里搜索,HTML

parser,XML

parser(解析器),有很多c#,java,c++的源代码可以利用,没有强大的解析器,跟本无法读懂文件。

2.System.Xml空间的详细运用,除了简单的XMLWriter,还必须学会XMLDocument,XmlNode,能够动态操控XML。还有Xpath技术,操作XMl很有效率。

3.适当还会运用到正则表达式,来处理字符串匹配问题,尤其是节点的操作,即使是再好的字符串查找算法,有时也不如正则表达式,因此system.Text

中的Regex类要掌握好。

4.会控制WinForm中的WebBrower控件

当然,即使你不打算自己做,或已找到了源代码,要想读懂,也必须要以上的知识。

至于工具,网上有,源码还哪找,有java的,但下载不下来。

这是著名的W3C(Html,xml等技术的创始组织)的转换工具,里面也有一些介绍,相信会有用的。

有一个用C#编的转换器,但付费后才可看到源代码

还有一些软件,stylus的产品不错!