阅读更多

10顶
3踩

编程语言

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

2014-04-18 10:44 by 副主编 WnouM 评论(7) 有11110人浏览
包括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...

  • 基于SSM+JSP+HTML的东风锻造有限公司重大停管理系统(Java毕业设计,附源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 ssm 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 数据库系统课程设计报告-体育项目比赛管理系统设计与开发

    一、系统需求分析 1 (一)需求概述 1 (二)业务流分析 1 从运动员角度分析 1 (三)数据流分析 4 (四)数据字典 5 二、数据库概念结构设计 6 (一)实体分析 6 (二)属性分析 6 (三)联系分析 8 (四)概念模型分析(.PDM图) 9 三、数据库逻辑结构设计 9 (一)概念模型转化为逻辑模型 9 1.一对一关系的转化 9 2.一对多关系的转化 9 3.多对多关系的转化 10 (二)逻辑模型设计(.PDM图) 10 四、 数据库物理实现(一)表设计 10 (一)表设计 10 (二)创建表和完整性约束代码设计 11 五、数据库功能调试 15 (一)运动员管理模块 15 (二)负责人管理模块 16 (三)系统管理员管理模块 17 六、设计系统前台软件 21 (一)开发软件选择 21 (二)软件功能要求与设计 22 (三)软件功能实现 22 (四)系统测试 24 七、设计总结 27

Global site tag (gtag.js) - Google Analytics