`
hrsvici412
  • 浏览: 75052 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

xml的面试题

阅读更多

1、xml有哪些解析技术?区别是什么?

答:有DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常 厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX: 不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标 签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问

STAX:Streaming API for XML (StAX)

2、你在项目中用到了xml技术的哪些方面?如何实现的?

答: 用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收 解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。

3、用jdom解析xml文件时如何解决中文问题?如何解析?

答:看如下代码,用编码方式加以解决

package test;

import java.io.*;

public class DOMTest

{

private String inFile = "c:\people.xml";

private String outFile = "c:\people.xml";

public static void main(String args[])

{

new DOMTest();

}

public DOMTest()

{

try

{

javax.xml.parsers.DocumentBuilder builder =

javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();

org.w3c.dom.Document doc = builder.newDocument();

org.w3c.dom.Element root = doc.createElement("老师");

org.w3c.dom.Element wang = doc.createElement("王");

org.w3c.dom.Element liu = doc.createElement("刘");

wang.appendChild(doc.createTextNode("我是王老师"));

root.appendChild(wang);

doc.appendChild(root);

javax.xml.transform.Transformer transformer =

javax.xml.transform.TransformerFactory.newInstance().newTransformer();

transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "gb2312");

transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");





transformer.transform(new javax.xml.transform.dom.DOMSource(doc),

new



javax.xml.transform.stream.StreamResult(outFile));

}

catch (Exception e)

{

System.out.println (e.getMessage());

}

}

}

4、编程用JAVA解析XML的方式.

答:用SAX方式解析XML,XML文件如下:

<?xml version="1.0" encoding="gb2312"?>

<person>

<name>王小明</name>

<college>信息学院</college>

<telephone>6258113</telephone>

<notes>男,1955年生,博士,95年调入海南大学</notes>

</person>

事件回调类SAXHandler.java

import java.io.*;

import java.util.Hashtable;

import org.xml.sax.*;

public class SAXHandler extends HandlerBase

{

private Hashtable table = new Hashtable();

private String currentElement = null;

private String currentValue = null;

public void setTable(Hashtable table)

{

this.table = table;

}

public Hashtable getTable()

{

return table;

}

public void startElement(String tag, AttributeList attrs)

throws SAXException

{

currentElement = tag;

}

public void characters(char[] ch, int start, int length)

throws SAXException

{

currentValue = new String(ch, start, length);

}

public void endElement(String name) throws SAXException

{

if (currentElement.equals(name))

table.put(currentElement, currentValue);

}

}

JSP内容显示源码,SaxXml.jsp:

<HTML>

<HEAD>

<TITLE>剖析XML文件people.xml</TITLE>

</HEAD>

<BODY>

<%@ page errorPage="ErrPage.jsp"

contentType="text/html;charset=GB2312" %>

<%@ page import="java.io.*" %>

<%@ page import="java.util.Hashtable" %>

<%@ page import="org.w3c.dom.*" %>

<%@ page import="org.xml.sax.*" %>

<%@ page import="javax.xml.parsers.SAXParserFactory" %>

<%@ page import="javax.xml.parsers.SAXParser" %>

<%@ page import="SAXHandler" %>

<%

File file = new File("c:\people.xml");

FileReader reader = new FileReader(file);

Parser parser;

SAXParserFactory spf = SAXParserFactory.newInstance();

SAXParser sp = spf.newSAXParser();

SAXHandler handler = new SAXHandler();

sp.parse(new InputSource(reader), handler);

Hashtable hashTable = handler.getTable();

out.println("<TABLE BORDER=2><CAPTION>教师信息表</CAPTION>");

out.println("<TR><TD>姓名</TD>" + "<TD>" +

(String)hashTable.get(new String("name")) + "</TD></TR>");

out.println("<TR><TD>学院</TD>" + "<TD>" +

(String)hashTable.get(new String("college"))+"</TD></TR>");

out.println("<TR><TD>电话</TD>" + "<TD>" +

(String)hashTable.get(new String("telephone")) + "</TD></TR>");

out.println("<TR><TD>备注</TD>" + "<TD>" +

(String)hashTable.get(new String("notes")) + "</TD></TR>");

out.println("</TABLE>");

%>

</BODY>

</HTML>

分享到:
评论

相关推荐

    XML面试题及答案

    XML 面试题及答案 XML 面试题及答案是一份涵盖了 XML 面试中的热门问题和答案的资源,旨在帮助面试者更好地准备面试。以下是从中提取的知识点: 1. XML 解析技术:DOM、SAX 和 STAX XML 有多种解析技术,包括 DOM...

    Java程序员的10道XML面试题

    ### Java程序员的10道XML面试题详解 #### 1. XML是什么? XML,全称为**可扩展标记语言**(Extensible Markup Language),是一种用于描述数据的标记语言。它允许开发者根据自身需求创建自定义标签,这使得XML非常...

    xml面试题 .net 适用

    以下是一些关于XML的中级面试题及其解答: 1. XML有哪些解析技术?区别是什么? - DOM(Document Object Model):它将XML文件解析为一个树形结构,允许开发者在整个文档中随机访问节点。然而,DOM一次性加载整个...

    xml 面试题总结

    XML 解析技术和文档定义形式 XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。在进行 XML 开发时,需要了解 XML 的解析技术和文档定义形式。下面将详细介绍 XML 解析技术和文档定义形式。 ...

    java面试题大全

    XML面试题部分会测试求职者对XML的理解,包括XML结构、DTD、XSD、XPath、XSLT等,以及XML在Java中的应用。 最后,百战程序员1573题全套1.0版.pdf和sxt_baizhan_1573(1.0).pdf很可能是全面的题库,覆盖了Java及周边...

    java相关面试题.zip

    115个Java面试题和答案——终极(上.pdf ...Java程序员的10道XML面试题.pdf java面试题.pdf Java面试题以及答案.pdf Spring 面试题分析.pdf sql面试题.pdf Struts2面试题分析.pdf 面试题整理.pdf

    就业面试题

    【XML面试题】 XML用于数据交换和配置文件,面试可能涵盖DOM、SAX、StAX解析方式,XPath表达式,以及XML Schema或DTD的验证。面试官还会关注如何在Java中处理XML,比如使用JAXB进行对象与XML之间的序列化和反序列化...

    Java+框架最全面试题

    最后,"XML面试题"则可能涉及XML文档结构、解析方式(DOM和SAX)、命名空间、XSD验证等。XML作为数据交换格式,对于配置文件管理和数据传输有着重要作用。 综合以上,这个资料包提供的面试题覆盖了Java从基础到进阶...

    金蝶公司面试题及试题简答

    金蝶公司面试题及试题简答涵盖了多个IT相关领域的知识点,包括Java基础、XML、数据库、软件设计模式、EJB等。 首先,让我们来看一下Java基础部分。在Java基础部分中,提到了Integer和Long的比较、equals()方法的...

    2019互联网面试题第2季,互联网面试题及答案,Java

    在互联网行业中,面试是检验求职者技能和知识的关键环节,特别是在Java...而"Document.xml"、"bin"、"xsd"等文件可能是文档的元数据或结构描述,可能包含了更具体的面试题解析和示例代码,有助于深入理解上述知识点。

    适用于Java程序员的10道XML面试题 新鲜出炉

    这些面试题覆盖了XML的基础知识和核心概念,对于Java程序员来说,理解和掌握XML的相关技术是至关重要的,因为XML是许多Java框架和库中的重要组成部分,如Spring框架中的配置文件、SOAP Web服务的交换格式等。...

    JAVA编程百例+JAVA面试题集十套(经典)

    列举几个典型实用的例子: 实例37 读取随机文件 实例38 操作EXECL文件 实例39 生成PDF文件 实例47 使用JAVAMAIL发送邮件 实例48 使用JAVAMAIL接收邮件 实例62 多线程 实例68 使用DOM解析XML ...面试题集合.pdf

    c#笔试面试题 c#笔试面试题

    18. XML与JSON序列化:学习如何将对象序列化为XML或JSON格式,以及反序列化回对象。 19. ADO.NET与数据库交互:掌握使用SqlConnection、SqlCommand等类进行数据库操作的方法。 20. WPF与WinForms:对于UI开发,理解...

    十套c#面试题,基本包含了所有c#知识

    本资源摘要信息涵盖了 C# 面试题的方方面面,涵盖了 XML、XSD、XSL、J2EE、Persistent Object、加密算法、设计模式、架构设计、测试等多个方面的知识点。 XML、XSD、XSL 在面试题中,我们可以看到 XML、XSD、XSL ...

    ibm 2010 面试题(uml转xml)

    标题中的“ibm 2010 面试题(uml转xml)”是指IBM公司在2010年面试中提出的一个技术问题,涉及到将统一建模语言(UML)模型转换为可扩展标记语言(XML)的技能。UML是一种用于软件工程的图形化建模语言,而XML是一种...

    面试题 C语言 XML文档

    【标题】:“面试题 C语言 XML文档”指的是在面试中可能会遇到的关于C语言与XML(可扩展标记语言)的题目。XML是一种用于存储和传输数据的结构化语言,常用于应用程序之间的数据交换,而C语言则是一种基础且强大的...

    中软面试题,中软面试题,中软面试题

    中软面试题涵盖了多个IT领域的知识点,包括Java编程、XML解析、JNDI、设计模式、面向对象编程、集合框架、排序算法和数据库查询等。下面将逐一解读这些知识点。 抽象类和接口 抽象类和接口是Java编程中两种重要的...

    大数据技术之高频面试题8.0.2.pdf

    大数据技术之高频面试题8.0.2.pdf 以下是从给定文件中生成的相关知识点: Linux和Shell * Linux常用高级命令:包括文件管理、进程管理、磁盘管理、网络管理等命令。 * Shell常用工具及写过的脚本:包括sed、awk、...

    delphi面试题 delphi题目

    【Delphi面试题 Delphi题目】的解析涵盖了多个Delphi编程和数据库操作的知识点,以下是详细解答: 1. Delphi元件派生: - 如果一个元件希望放到IDE的元件面板上,它必须从(TComponent)类派生。 - 如果一个元件能...

Global site tag (gtag.js) - Google Analytics