Web面试总结

来源:互联网 发布:爱心机构手机网站源码 编辑:程序博客网 时间:2024/06/05 20:16

本文涉及到的名词有xmlhtmlDTD, schemaCSSXSLT(可扩展样式单语言转换)Xpath

DOMSAXJAXPXercesdom4jJDOMXQueryWeb Service

1xmlhtml的区别

xml关注数据的存储和传输,而html关注数据的显示。

 

2Xml的两种主要的语义约束工具:DTD(Document Type Definition)schema

 

3DTDScheme的区别

DTD简单易用,但其由非xml的语法来描述xml的语义约束,可扩展性差;

Xml schemaDTD的替代者,其本身也由xml编写,可读性好。

 

4xmljava, c等编程语言的区别

Xml是标记语言,不同于编程语言javac等,它本身没有任何“动作行为”。

 

5xml文档中命名空间的使用方式

Xml文档中通过xmlns或者xmlnsprefix来使用命名空间,其中nsnamespace的简写,

Prefix是命名空间的前缀。

 

6CSSXSLT的区别

CSS能定义布局定位,颜色控制和字体控制等;

XSLTCSS强大,它还能将xml文档彻底转换成另一份格式文档,XSLT还内置了具有计算,排序功能的函数,甚至允许开发者开发自定义函数。

 

7XPath的用处

XPath语言是一门专门在xml文档中查找信息的语言。XSLTXQueryXPointer等技术依赖于Xpath来定位xml文档中的元素和属性等结点。

 

8、解析xml文档的主要机制:DOMSAXJAXP

 DOM模型将xml结构化文档映射为一系列具有父子、兄弟关联关系的节点对象集,从而将该文档转换成常驻内存的DOM树。缺点:一次性读取整个xml文档,且程序运行期间,整棵DOM树常驻内存,导致系统开销过大。

SAX采用一种基于事件处理的方式解析xml文档,会依次触发文档开始、元素开始、元素结束、文档结束等事件,应用程序通过监听SAX解析过程所触发的事件即可获得xml文档的内容。SAX解析方式占用内存极小,速度更快。

JAXPjava解析xml文档的API,全称 Java APIfor Xml。应用程序面向JAXP接口编程,从而与底层具体的解析实现分离开来。JAXP本身不提供任何的xml解析支持,其底层必须依赖于各种具体的xml解析器,它支持DOMSAXXSLTxml标准。JAXP提供一种工厂模式抽象,允许应用程序在不同xml解析器之间切换。

 

9Xerces有何用处

XercesApache组织提供的xml解析器项目,这是一个跨语言的xml解析器,目前提供C++JavaPerl等语言的实现版本。JAXP来自于Xerces-J项目。

 

 

10dom4jJDOM

JAXP虽然在DOMSAX解析机制上进行了一定的抽象,但使用基于Xerces-JJAXP进行xml解析非常繁琐,可读性不高。于是Java领域又出现了两个开源的xml解析器dom4jJDOMDom4jJDOM有很深的渊源,但dom4j主要面向接口编程,而JDOM则面向实现类编程,因此有人认为dom4jJDOM更灵活。Dom4j只有java语言版本。Dom4j有点类似DOM解析机制,但处理方式比DOM树更简单。

 

11dom4jJDOM的渊源?

由于W3CDOM规范既要考虑处理xml文档,又要考虑处理html文档,因此实际开发过程中使用DOM解析器来处理xml文档显得异常繁琐。于是,有一帮人开始开发Java专用的xml API,这就是JDOM的由来。但在JDOM开发到一半时,有一部分人产生了新想法,而这些想法又无法再JDOM中实现,于是他们干脆从JDOM项目组分离处理,单独开发另一套Java专属的xml API,结果就得到了dom4j

 

12XQuery什么用处

类似于SQL语言查询关系数据库,XQuery则可以JDBC方式查询XML数据。XQueryXSLT一样,必须建立在XPath基础之上。

 

13XQueryXSLT的区别

XQuery主要用于从XML数据中提取数据;而XSLT则主要用于将xml文档转换为其他文档。

 

14Web ServiceXML的关系

Web Service的三个重要基础SOAPWSDLUDDI都需要使用xml,即xmlWeb Service的重要基础,而WebServicexml的重要应用之一。

0 0
原创粉丝点击