`
fanfq
  • 浏览: 263857 次
  • 性别: 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方面demo,可能对学这个的有用。

    Java面试-线程编程、Jsp、Servlet、Jdbc、Jdo、Xml方面.doc

    Java面试-线程编程、Jsp、Servlet、Jdbc、Jdo、Xml方面.doc

    Xml方面笔试题

    笔试Xml方面笔试题软件测试91、xml有哪些解析技术?区别是什么?答:有DOM,SAX,STAX等DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前...

    XML本质论--XML方面的巨作,培训,开发,参考都可使用

    快速上手XML的开发,了解其本质,帮助您简单完成您的开发任务!

    XML编程从入门到精通

    对于绝大多数的XML 入门者来说XML 方面的可能只是一知半解也就是停留在一 个平台上无法再提高了这主要是国内现有的XML 方面的书籍涉及到的内容面都比较狭 窄介绍的内容也都是很基本的一些内容无法再更加深入虽然有些...

    Java,XML和Web服务宝典

    本书的作者都是在Java和XML方面有多年实践经验的专家,他们会带领读者熟悉Java、XML以及Web服务的各个方面,为读者提供大量的范例以开拓新的思路。全书分为9大部分、32章以及3个附录,通过对Java、XML技术的讲解和...

    学XML,必备的两本经典书籍

    xml本质论 搞懂xml、soap、biztalk 做XML这行的,牛人没有不看的书籍

    XML 文件翻译工具 Xml Content Translator 1.9.zip

    另一个值得注意的方面是,您可以轻松地将程序文件复制到USB闪存驱动器,因此,可以随身携带XML Contents Translator,并在您接触的任何PC上运行它。 使用方法和可用选项 此应用程序使您可以使用内置文件浏览器以及...

    知识框架整合(囊括前沿各项技术)

    七、 XML方面 八、 EJB方面 九、 应用服务器方面 十、 J2EE(JSP、MVC)方面 十一、 Struts2方面 十二、 Hibernate方面 十三、 设计模式方面 十四、 UML方面 十五、 WEB SERVICE部分 十六、 CORBA方面 十七、 代码...

    PointCol.rar_corba_linux_mvc_uml _web 服务器

    七、 XML方面 八、 EJB方面 九、 应用服务器方面 十、 J2EE(JSP、MVC)方面 十一、 Struts2方面 十二、 Hibernate方面 十三、 设计模式方面 十四、 UML方面 十五、 WEB SERVICE部分 十六、 CORBA方面 十七、 代码...

    Microsoft XML NotePad 2007

    Microsoft XML NotePad 2007 为开发者在创建 XML 应用软件方面提供帮助。该软件允许开发者在开发基于 XML的应用软件过程当中快速地创建和编辑小型系列 XML 数据作为测试基础。使用 XML Notepad,你可以采用重复方式...

    XML技术教学大纲

    《XML技术》是为计算机应用技术专业研究生开设的1门学位课,通过讲授功能强大的可扩展标记语言XML,使学生掌握在Internet上存储和传送信息方面最具有发展前途的程序语言。 通过本课程的学习,使学生掌握XML应用基础...

    db2 xml best practise

    这是关于db2 xml方面的最佳实践,仅供参考

    Oracle XML开发手册

    Oracle公司所做的XML方面的工作

    XML学习教程

    关于XML方面一本非常不错的教程,比较详细的讲解了关于XML方面的基本知识

    O r a c l e与X M L

    作者由图书提纲开始,该提纲是关于他们在Oracle公司所做的XML方面的工作;然后编写各个章节。他们尽可能地听从了Philip的建议,把本书按问题域组织起来,而不是按技术或部门体系。时间很快过去了一年,到了2000年中...

    C#XML实例源代码【转】

    对XML文件读取操作,给使用C#开发XML方面一些帮助

    简化XML处理详解

    把VTD-XML和一些流行的XML解析器就性能和内存使用方面作一比较。通过时延和吞吐率来呈现XML解析性能。从时延方面比较了VTD-XML和DOM(不支持延迟节点扩展特性)的浏览性能。VTD-XML的性能与其他解析器相比优势明显,...

    java和xml相关的技术电子书

    关于java和xml方面的技术参考电子书书籍

    XML高级编程pdf

    7.6 W3C在XML 模式方面的工作 7.6.1 DTD与XML 模式的比较 7.6.2 结构 7.6.3 数据类型 7.7 简化了的XML Data 7.7.1 MSXML对命名空间和模式的支持 7.7.2 数据类型 7.8 图书目录中的变化 7.8.1 为什么烦恼 ...

Global site tag (gtag.js) - Google Analytics