Java程序员的10个XML面试问答

XML面试问题在各种编程工作面试中非常受欢迎,包括针对Web开发人员的Java面试 。 XML是一项成熟的技术,通常用作从一个平台传输数据的标准。 XML面试问题包含来自各种XML技术的问题,例如XSLT,该技术用于转换XML文件, XPATH ,XQuery和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代表可扩展标记语言,这意味着您可以根据需要扩展XML。 您可以轻松地以XML定义自定义标签(如<books>,<orders>等),而与HTML等其他标记语言相反,在HTML中,您需要使用预定义标签(例如<p>),并且不能使用用户定义的标签。 尽管可以通过使用DTD和XML Schema来标准化XML的结构。 XML通常用于将数据从一个系统传输到另一个系统,例如在企业应用程序的客户端和服务器之间。

问题2:DTD和XML模式之间的区别?

答:DTD和XML Schema之间有一些区别,例如DTD不是使用XML编写的,而XML Schema本身就是xml文档,这意味着现有的XML工具(例如XML解析器)可以用于XML Schema。 XML模式也是在DTD之后设计的,它提供了更多类型来映射XML文档中的不同类型的数据。 另一方面,DTD代表文档类型定义,并且是定义XML文档结构的传统方法。

问题3:什么是XPath?

答:XPath是一种XML技术,用于从XML文档中检索元素。 由于XML文档是结构化的,因此可以使用XPath表达式来查找和检索XML文件中的元素,属性或值。 从XML检索数据方面,XPath与SQL相似,但是它具有自己的语法和规则。 请参阅此处以了解有关如何使用XPath从XML文档中检索数据的更多信息。

问题4:什么是XSLT?

答:XSLT是另一种流行的XML技术,可以将一个XML文件转换为其他XML,HTML或任何其他格式。 XSLT就像一种语言,它指定了自己的语法,函数和运算符来转换XML文档。 通常,转换由XSLT引擎完成,该引擎读取XML样式表或XSL文件中使用XSLT语法编写的指令。 XSLT还广泛使用了递归来执行转换。 使用XSLT的流行示例之一是将XML文件中存在的数据显示为HTML页面。 XSLT还可非常方便地将一个XML文件转换为另一个XML文档。

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

答案:这可以用一个例子最好地解释。 让我们看一个简单的XML代码段

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

在此示例XML id是 元件。 这里 , 和 也是其他元素,但它们没有任何属性。

问题6:格式正确的XML是什么意思?

答:另一个有趣的XML采访问题 ,最常出现在电话采访中。 格式正确的 XML表示语法上正确的XML文档,例如,它具有根元素,所有打开的标签均已正确关闭,属性用引号引起来。如果XML格式不正确,则可能无法通过各种方式正确处理和解析。 XML解析器。

为什么重要?

答:XML名称空间类似于Java中的程序包 ,用于提供一种避免名称相同但来源不同的xml标记之间发生冲突的方法。 XML名称空间是使用XML文档顶部的xmlns属性定义的,并且具有以下语法xmlns:prefix ='URI'。 之后,该前缀与XML文档中的实际标记一起使用。 这是使用XML名称空间的示例:

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

问题8:DOM和SAX解析器之间的区别?

答:这是另一个非常流行的XML采访问题,不仅在XML世界中,而且在Java世界中。 DOM和SAX解析器之间的主要区别在于它们解析XML文档的方式。 DOM在解析期间创建XML文档的内存树表示形式,而SAX是事件驱动的解析器。 有关此问题的更多详细信息,请参见DOM与SAX解析器之间的区别 。

问题9:什么是XML中的CDATA部分?

答:我喜欢XML Interview的问题是因为它的简单性和重要性,但是许多程序员对此并不了解。 CDATA代表字符数据,并具有XML解析器的特殊说明。 由于XML解析器解析XML文档中的所有文本,例如<name>,这是人的名字</ name>,即使标记<name>的值将被解析,因为它可能包含XML标记,例如<name> <firstname> Firstname < / firstname> </ name>。 XML解析器不解析CDATA节。 CDATA部分以“ <![CDATA [””开头,并以“]]>结尾。

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

答:Java中的XML绑定是指从XML文档创建Java类和对象,然后使用Java编程语言来修改XML文档 。 JAXB,用于XML绑定的Java API提供了将XML文档与Java对象绑定的便捷方法。 XML绑定的其他替代方法是使用开源库,例如XML Beans。 Java中XML绑定的最大优势之一是利用Java编程功能来创建和修改XML文档。

XML Interview问答列表是从程序员那里收集的,但对从事XML技术工作的人很有用。 XPath,XSLT,XQuery等XML技术的重要性仅会由于XML的平台无关性以及跨平台传输数据的流行而增加。 尽管XML具有诸如冗长和大小之类的缺点,但是它在Web服务以及将数据从另一个系统传输到另一个带宽和速度都非常重要的系统中非常有用。

Javarevisited 上的其他面试问题文章排名前30位的UNIX和Linux命令面试问题–已回答

  • 20个设计模式和软件设计面试问题与答案
  • 10个Oracle面试问题及答案
  • 15个Java多线程面试问题以及在投资银行中提出的答案
  • 十大Java String面试问题–已回答

参考:来自Java的JCG合作伙伴 Javin Paul在Javarevisited博客上针对Java程序员的10个XML Interview问答 。

翻译自: https://www.javacodegeeks.com/2013/01/10-xml-interview-questions-and-answers-for-java-programmer.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转] Java, 使用 Reactor 进行反应式编程

https://www.ibm.com/developerworks/cn/java/j-cn-with-reactor-response-encode/index.html?lnkhmhm转载于:https://www.cnblogs.com/pekkle/p/8311749.html

JmeterAnt构建自动化测试平台

一、jmeter jmeter下载地址为&#xff1a;http://jmeter.apache.org/download_jmeter.cgi 下载完成后&#xff0c;解压文件&#xff0c; 加压后&#xff0c;到biin目录下&#xff0c;点击jmeter.bat启动jmeter(如果是linux环境&#xff0c;给jmeter.sh可执行的权限&#xff0c;…

input复选框checkbox默认样式纯css修改

修改之前的样式 修改之后的样式 html <input type"checkbox" name"btn" id"btn1"><label for"btn1">按钮1</label> css input[type"checkbox"]{width:20px;height:20px;display: inline-block;text-al…

c++word书签_「职场必备」干货!WORD办公软件快捷键,小编整理拿走不谢

小编工作时的照片&#xff0c;不上镜CtrlShiftSpacebar创建不间断空格Ctrl -(连字符)创建不间断连字符CtrlB使字符变为粗体CtrlI使字符变为斜体CtrlU为字符添加下划线CtrlShift缩小字号CtrlShift>增大字号CtrlQ删除段落格式CtrlSpacebar删除字符格式CtrlC复制所选文本或对象…

struts.xml 配置

1.ActionSupport是默认的Action类,若某个action节点没有配置class属性&#xff0c;则ActionSupport即为待执行的Action类 2.在手工完成字段验证&#xff0c;显示错误消息&#xff0c;国际化等情况下&#xff0c;推荐继承ActionSupport 3.result是action节点的子节点&#xff0c…

前端学习---css基本知识

css基本知识 我们先看一个小例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div style"background-color:#2459a2;height:…

mysql 从库_mysql数据库主从配置

在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程&#xff0c;本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后&#xff0c;可以实现数据库的备份、同时应用也可以实现读写分离&#xff0c;提高应用的并发量。1、主从原理从《高性能mysql》…

Java内联虚拟方法调用的性能

总览 动态编译的好处之一是&#xff0c;它能够支持在虚拟方法代码上进行广泛的方法内联。 虽然内联代码可以提高性能&#xff0c;但是代码仍然必须检查类型&#xff08;以防由于优化而更改了类型&#xff09;或在多个可能的实现之间进行选择。 这导致了问题。 通过接口调用的…

.Net Core 部署到 CentOS7 64 位系统中的步骤

建议使用 root 管理员账户操作 1、安装工具 1、apache 2、.Net Core(dotnet-sdk-2.0) 3、Supervisor(进程管理工具&#xff0c;目的是服务器一开机就启动服务器 上发布的ASP.NET Core Web网站) 2、安装apache 在安装apache之前&#xff0c;要先做一件事就是&#xff0c;把当前登…

【模板小程序】 十进制大数相乘(正数、负数、0均可),包含合法性检查

1 /*2 本程序说明&#xff1a;3 4 大数乘法(模拟乘法操作&#xff0c;取其中一个字符串&#xff0c;每一位分别相乘&#xff0c;最后移位加起来)5 6 时间复杂度&#xff1a;O(k1*k2),k1和k2分别为两字符串长度7 空间复杂度&#xff1a;O(1)8 9 */10 11 #include <iostream&g…

mysql更新字符串中某个字符串_mysql更新某个字符串字段的部分内容

如果现在需要Mysql更新字段重部分数据&#xff0c;而不是全部数据&#xff0c;应该采用何种方法呢&#xff1f;下面介绍了两种情况下Mysql更新字段中部分数据的方法&#xff0c;供您参考。Mysql更新字段中部分数据第一种情况&#xff1a;update tab set A concat(substr…

前端学习---html基础知识

HTML基本知识 学习html首先我们先看看HTML本质&#xff1a; web框架本质 我们在学socket&#xff0c;我们创建一个socketserver&#xff0c;然后运行起来&#xff0c;有一个client客户端要连接socket服务端&#xff0c;连接上之后&#xff0c;如果两边都没有close&#xff0…

Java 8最新消息

Java 8的开发再次开始主导新闻。 最近的帖子涵盖了扩展JDK 8的Milestone 7以确保其功能完整&#xff0c;Java 8中现在可用的Date / Time API以及对Java教程的更新以涵盖一些Java 8功能。 扩展JDK 8 M7 马克雷因霍尔德 &#xff08; Mark Reinhold &#xff09;以JDK 8 M6的身份…

插入排序-Java

1.算法描述 假定n是数组的长度&#xff0c; 首先假设第一个元素被放置在正确的位置上&#xff0c;这样仅需从1-n-1范围内对剩余元素进行排序。对于每次遍历&#xff0c;从0-i-1范围内的元素已经被排好序&#xff0c; 每次遍历的任务是&#xff1a;通过扫描前面已排序的子列表&a…

更改mysql数据库存放位置_更改mysql数据库存放位置

由于要做一个数据库的测试,所以选了台虚拟机进行,无奈硬盘分的太小,数据太大. 只能把数据放到新的硬盘上.所以要更改数据库的存储位置.1.新添加块硬盘,分区,挂载到/mysql下,新建lib文件夹.1.1 copy数据库文件, cp -Rp /var/lib/* /mysql/lib/1.2 修改lib权限为mysql. sudo cho…

前端:css

一,css介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 二,CSS语法 1,每个CSS样式由两个组成部分&#xff1a;选择器…

爬虫框架:scrapy

阅读目录 一 背景知识二 同步、异步、回调机制三 高性能一 背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程&#xff0c;如果我们有多个url待爬取&#xff0c;采用串行的方式执行&#xff0c;只能等待爬取一个结束后才能继续下一个&#xff0c;效率会非常低。 需要…

为Openshift + MongoDb应用程序编写验收测试

验收测试用于确定是否满足规范要求。 它应该在与生产环境尽可能相似的环境中运行。 因此&#xff0c;如果您的应用程序已部署到Openshift中&#xff0c;则您将需要一个与生产环境中使用的帐户平行的帐户&#xff0c;以运行测试。 在这篇文章中&#xff0c;我们将为部署到Opensh…

《大道至简》第四章读后感

流于形式的沟通 此章主要概括沟通的方式和方法决定着我们的成败&#xff0c;在软件开发的过程中必然存在着沟通交流&#xff0c;有效的沟通可以达到事半功倍的效果。 在项目开发时&#xff0c;我们肯定需要面对客户&#xff0c;客户的需求就是我们的工作方向&#xff0c;然而我…

CSS 自适应布局

前言 本篇文章将介页面布局中的自适应布局&#xff0c;常见的自适应布局有以下2种&#xff1a;左列固定右列自适应、左右两列固定中间自适应。 1. 左列固定右列自适应布局方案 说明&#xff1a;左列固定右列自适应&#xff0c;也可以为右列固定左列自适应&#xff0c;常见于中…