阅读更多

10顶
3踩

编程语言

转载新闻 Java程序员的10道XML面试题

2014-04-18 10:44 by 副主编 WnouM 评论(7) 有11043人浏览
包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准。XML面试问题包括用于转换XML文件的XSLT技术,XPATH,XQuery等各种XML技术和XML基础知识,比如DTD或者Schema。

本文将看到10道常见的XML面试问答题。这些问题大部分在Java面试中会问到,同时在C,C++,Scala或其他语言的编程面试中同样很有用处。XML并不依赖于其他编程语言,同SQL一样是编程人员所需要的技能之一,因此在任何技术工作面试之前准备一些XML问题是很有意义的。

XML面试问答

下面是我列出的关于XML技术经常会问到的面试题。这些问题并不很难但涵盖了XML技术的一些重要领域,比如DTD,XML Schema,XSLT转换,XPATH检索,XML绑定,XML解析器以及XML的基本知识,比如命名空间,校验,属性,元素等。

问题1:XML是什么?

答:XML即可扩展标记语言(Extensible Markup language),你可以根据自己的需要扩展XML。XML中可以轻松定义<books>, <orders>等自定义标签,而在HTML等其他标记语言中必须使用预定义的标签,比如<p>,而不能使用用户定义的标签。使用DTD和XML Schema标准化XML结构。XML主要用于从一个系统到另一系统的数据传输,比如企业级应用的客户端与服务端。

问题2:DTD与XML Schema有什么区别?

答:DTD与XML Schema有以下区别:DTD不使用XML编写而XML Schema本身就是xml文件,这意味着XML解析器等已有的XML工具可以用来处理XML Schema。而且XML Schema 是设计于DTD之后的,它提供了更多的类型来映射xml文件不同的数据类型。DTD即文档类型描述(Document Type definition)是定义XML文件结构的传统方式。

问题3:XPath是什么?

答:XPath是用于从XML文档检索元素的XML技术。XML文档是结构化的,因此XPath可以从XML文件定位和检索元素、属性或值。从数据检索方面来说,XPath与SQL很相似,但是它有自己的语法和规则。了解更多查看怎样使用XPath从XML文档中检索数据

问题4:XSLT是什么?

答:XSLT也是常用的XML技术,用于将一个XML文件转换为另一种XML,HTML或者其他的格式。XSLT为转换XML文件详细定义了自己的语法,函数和操作符。通常由XSLT引擎完成转换,XSLT引擎读取XSLT语法编写的XML样式表或者XSL文件的指令。XSLT大量使用递归来执行转换。一个常见XSLT使用就是将XML文件中的数据作为HTML页面显示。XSLT也可以很方便地把一种XML文件转换为另一种XML文档。

问题5:什么是XML元素和属性

答:最好举个例子来解释。下面是简单的XML片断。

<Orders>
    <Order id="123">
        <Symbol>6758.T</Symbol>
        <Price>2300</Price>
    <Order>
<Orders>


例子中id是元素的一个属性,其他元素都没有属性。

问题6:什么是格式良好的XML

答:这个问题经常在电话面试中出现。一个格式良好的XML意味着该XML文档语法上是正确的,比如它有一个根元素,所有的开放标签合适地闭合,属性值必须加引号等等。如果一个XML不是格式良好的,那么它可能不能被各种XML解析器正确地处理和解析。

问题7:XML命名空间是什么?它为什么很重要?

答:XML命名空间与Java的package类似,用来避免不同来源名称相同的标签发生冲突。XML命名空间在XML文档顶部使用xmlns属性定义,语法为xmlns:prefix=’URI’。prefix与XML文档中实际标签一起使用。下面例子为XML命名空间的使用。

<root xmlns:inst="http://instruments.com/inst"
    <inst:phone>
        <inst:number>837363223</inst:number>
    </inst:phone>
</root>


问题8:DOM和SAX解析器有什么区别

答:这又是一道常见面试题,不仅出现在XML面试题中,在Java面试中也会问到。DOM和SAX解析器的主要区别在于它们解析XML文档的方式。使用DOM解析时,XML文档以树形结构的形式加载到内存中,而SAX是事件驱动的解析器。这个问题更详细的回答查看DOM和SAX解析器之间的区别

问题9:XML CDATA是什么

答:这道题很简单也很重要,但很多编程人员对它的了解并不深。CDATA是指字符数据,它有特殊的指令被XML解析器解析。XML解析器解析XML文档中所有的文本,比如<name>This is name of person</name>,标签的值也会被解析,因为标签值也可能包含XML标签,比如<name><firstname>First Name</firstname></name>。CDATA部分不会被XML解析器解析。CDATA部分以“

问题10:Java的XML数据绑定是什么

答:Java的XML绑定指从XML文件中创建类和对象,使用Java编程语言修改XML文档。XML绑定的Java API,JAXB提供了绑定XML文档和Java对象的便利方式。另一个可选的XML绑定方法是使用开源库,比如XML Beans。Java中XML绑定的一个最大的优势就是利用Java编程能力创建和修改XML文档。

以上的XML面试问答题收集自很多编程人员,但它们对于使用XML技术的每个人都是有用的。由于XML具有平台独立的特性,XPath,XSLT,XQuery等XML技术越来越重要,XML广泛用于跨平台数据传输。尽管XML有冗余和文档体积大等缺点,但它在web服务以及带宽、速率作为次要考虑因素的系统间数据传输起很大作用。


原文链接: javacodegeeks 翻译: ImportNew.com - hejiani
译文链接: http://www.importnew.com/10839.html
来自: importnew
10
3
评论 共 7 条 请登录后发表评论
7 楼 hasau 2014-04-25 10:38
了解下基本的概念 工作中基本上没啥用处。 说真的几年了看这些题还真是说不好!
6 楼 jthuang001 2014-04-22 15:47
xml 让人又爱又恨的东西
5 楼 jimmee 2014-04-22 12:56
面试这种题目的公司, 就不是好公司.
4 楼 dsjt 2014-04-22 11:25
常年与XML打交道的路过
3 楼 fair_jm 2014-04-20 13:43
了解下基本概念~~
2 楼 我是张洁 2014-04-19 15:36
这些东西  用得到吗
1 楼 ray_linn 2014-04-19 08:14
这些答案看了就有想揍人的感觉。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Android原生系统开发如何优雅的提供系统级的API供第三方程序调用?

    目录 故事背景 一、对外提供接口有哪些方式? 二、开发步骤 Step1....2.1.1.模仿Android原生服务接口,如WifiManager,规划自己的Manager ...Step2.打包SDK,供第三方程序调用 ...2.2.2.使用SDK Step

  • Eclipse Modeling Tools环境配置 与 jMetal使用 教程

    该篇文章仅涉及 GitHub 中相关的 jMetal 官方代码...需注意,Eclipse必须使用 Modeling Tools 版本,而非普通的Java版本,Eclipse不同版本软件下载官方网址:Eclipse Packages Eclipse环境配置 该部分可解决Java与M

  • java 调用win32 api 学习总结

    java使用JInvoke调用windows API 使用jinvoke调用windowsAPI。jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样。  官网使用参考:...

  • eclipse plugin

    } } 对于这个Command还可以定义个全局的快捷键 TOOLBAR 上面菜单的"Sample Command" 还可以做成一个快捷按钮,就是 相应的配置如上图 Preferences 代码如下: package com.my.plugin.preferences; import org....

  • 【JAVA】集成开发环境eclipse的JDK配置和

    本次Java语言程序实验主要是以集成开发环境eclipse来运行Java文件。

  • Eclipse插件(RCP)整合Freemarker

    一步一步介绍Eclipse 插件中整合Freemarker 的方法,包含相关代码及思想

  • 使用eclipse安装python插件_为Eclipse安装Python开发插件

    最近想用Python开发大一点东西,IDLE就显得不太够用了,比较了一下众多的Python编辑器,发现Eric和Eclipse+PyDev是功能最为强大的两个。由于对Eclipse比较熟悉,所以自然而然就选择了它作为开发环境。在网上找了很多...

  • 使用Eclipse RCP进行桌面程序开发(四):在Windows中使用Active X控件

    看完这篇文章,可以开发如下的界面: 没有嵌入Active X控件的视图: ...OLE的体验,就是平时我们可以把Excel表格嵌入Word文档,...使用Windows系统中丰富的Active X控件资源,我们可以实现功能非常强大的程序。 在Windows

  • Eclipse 模板使用

    java editor template Eclipse中的快速Java代码模板使用 &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 相信大家都用过Eclipse的缩写代码提示功能,如...

  • 通过MAVEN安装Spark、&& EclipseIDE

    Eclipse IDE说明参考网站安装过程JDK安装Eclipse IDE安装Maven安装Spark安装新建Maven项目配置Maven依赖(安装Spark框架)`pom.xml`文件说明配置Run指令运行 安装说明 目前存在多种安装Spark框架的方式。经过实验和...

  • 2023 Java程序员必备 Eclipse免费下载安装教程+JDK配置环境搭建教程+Eclipse代码开发使用技巧 一站式捆绑服务到底,足够全、足够详细、足够劲爆、简单易学!

    同一个package(包)中的class类名字是不同的,不同的package(包)中的class类名字是可以相同的, 所以当我们同时调用两个不同package(包)中相同class类名的时候,就可以加上我们所定义的package包名称,来加以区分, ...

  • eclipse 插件扩展新建java页面_eclipse 插件开发 创建一个java工程 | 学步园

    创建一个org.eclipse.core.resources.IProject2. 给该project设置description,也就是生成.project文件注意:a、JavaCore.NATURE_ID = "org.eclipse.jdt.core.javanature"表示是个java projectb、在将description...

  • Eclipse插件开发Wizard篇

    使用过Eclipse的人,应该都对向导(wizard)不陌生。创建一个Java工程、导入一个项目等等都会用到向导。向导的作用非常简单,也非常重要——不让你在“阴沟里翻船”。 首先,所有向导做的事情(增加、修改工程配置...

  • 调用eclipse自身OpenType

    ]import org.eclipse.jdt.internal.ui.JavaPlugin; import org.eclipse.jdt.internal.ui.JavaUIMessages; import org.eclipse.jdt.internal.ui.dialogs.OpenTypeSelectionDialog; import org.eclipse...

  • 【Eclipse插件开发】TableViewer的简单实现

    最近在开发关于eclipse插件的相关,中途遇到很多坑,下面这个例子是目前我找到的比较简洁的关于tableViewer的...(后面有完成的代码,可以直接复制黏贴使用) 1、第一步:定义一个TableViewer对象. //首先定义一个...

  • eclipse java 插件开发_Eclipse插件开发中的Java项目模型

    Java项目模型Eclipse的项目有很多种,包括Java项目、C++项目、C#项目等,每种项目都有自己的特点。我们最常接触到的项目就是Java项目,因此我们重点来讲解一下Java项目模型。Java模型是用来对与创建、编辑和构建Java...

  • Eclipse体系结构介绍(一)

    2010年6月,Eclipse基金会推出了Helios协调发布版,其中包括来自40多家公司的39个项目和490个提交者,他们共同致力于构建基础平台的功能。 Eclipse最初的架构愿景是什么?它是如何演变的?应用程序的体系结构如何...

  • 基于 Eclipse+Java Swing + Mysql 进销存(物资)管理系统

    一、项目概要: 基于Java Swing+Mysql8.0数据库的物资(进销存)管理系统,具备登录功能。...package com.bj.frame; import java.awt.Font; import java.awt.Image; import java.awt.event.FocusEve...

  • 【java毕业设计】智慧社区教育服务门户.zip

    有java环境就可以运行起来 ,zip里包含源码+论文+PPT, 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上

  • 基于selenium的携程机票爬虫资料齐全+详细文档+高分项目+源码.zip

    【资源说明】 基于selenium的携程机票爬虫资料齐全+详细文档+高分项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

Global site tag (gtag.js) - Google Analytics