`
fanfq
  • 浏览: 269696 次
  • 性别: 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(Extensible Markup Language,可扩展标记语言)是互联网数据交换和存储的重要工具,它的设计目标是为了传输和存储数据,而不是显示数据。本资源“XML本质论”是一本深入探讨XML的著作,无论你是初学者还是有...

    是关于XML方面 的。

    XML,全称可扩展标记语言(eXtensible Markup Language),是一种用于标记数据的语言,它在互联网和软件开发中扮演着重要角色。XML的设计目的是传输和存储数据,而不是用于显示数据,这与HTML的主要用途形成了鲜明...

    Xml方面笔试题

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

    python解析xml文件

    通过以上介绍,我们可以看到`MiniDom`和`ElementTree`在解析XML方面各有优势。`MiniDom`提供了更多面向对象的方法来处理XML文档,适合复杂文档的解析;而`ElementTree`则更加简洁高效,适用于大多数日常应用。根据...

    Java绑定XML架构的技术内涵

    而Java作为一种主流的编程语言,在处理XML方面有着丰富的工具和技术支持。Java绑定XML架构,即通过Java代码与XML文档之间的映射来简化XML操作的过程,是实现异构系统间数据共享的关键技术之一。 #### 二、Java绑定...

    Java,XML和Web服务宝典

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

    ABAP解析XML

    通过对上述代码的分析,我们可以看出ABAP在处理XML方面具有强大的功能。利用`if_ixml_document`接口,开发者可以轻松地解析和操作XML数据,从而实现复杂的数据处理任务。无论是数据导入导出、报表生成还是与其他系统...

    xml字符串转化Dataset

    Microsoft .NET Framework提供了一系列强大的工具来处理XML数据,其中C#作为.NET的核心语言之一,在处理XML方面具有很高的开发效率。.NET Framework提供了多个类库来帮助开发者处理XML数据,主要包括以下几个方面: ...

    PullXML和Json

    在XML方面,可能包含了如何使用XMLStreamWriter或者TransformerFactory创建和输出XML文档的代码。对于JSON,可能是使用Gson或Jackson库将Java对象转换成JSON字符串,并写入文件或网络。 总结来说,这些文件涵盖了...

    SQL Server 2005 对Native XML Web 服务的支持

    SQL Server 2005是微软推出的一款关系型数据库管理系统,它在支持XML方面具有显著的进步,特别是对Native XML Web服务的集成。本篇文章将深入探讨SQL Server 2005如何提供对Native XML Web服务的支持,以及这些特性...

    XML实例集 XML实例集

    JavaScript(AJAX)在处理XML方面也扮演着重要角色。AJAX(Asynchronous JavaScript and XML)技术允许网页在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。实例集中的例子演示了如何使用JavaScript来...

    Oracle9i XML网络数据库开发指南(PDF)

    Oracle9i是Oracle公司推出的数据库管理系统的一个重要版本,它在支持XML方面做出了重大改进,使得XML数据能够更加高效、无缝地融入到数据库环境中。此书旨在帮助开发者充分利用Oracle9i的XML功能进行网络数据库的...

    PHP与XML格式操作

    在XML方面,Zend Framework提供`Zend\Xml`组件,支持XML编码、解码和安全防护,如防止XXE(XML External Entity)攻击。 4. PHP与图像操作: PHP通过GD库和Imagick扩展提供了图像处理功能。GD库可以用来创建、打开...

    C#操作XML方法.zip_guardlme_xml操作_服务器

    在写入XML方面,可以使用XmlWriter类,它可以创建新的XML文件或向已存在的XML文件追加内容。例如,我们可以创建一个新的XmlElement,设置其属性和子元素,然后使用XmlWriter将这些元素写入XML文件。 修改XML文档...

    sql 2005 XML的加强

    以下将详细介绍SQL Server 2005在XML方面的增强特性: 1. **XML数据类型**:SQL Server 2005引入了XML作为内置的数据类型,可以直接在数据库中存储XML文档,而不必将其转换为文本或二进制格式。这使得XML数据能够与...

    Oracle XML开发手册

    Oracle在支持XML方面有着深厚的基础,提供了多种功能强大的特性,帮助开发者有效地管理和操作XML数据。 一、Oracle XML DB Oracle XML DB是Oracle数据库内嵌的一个组件,用于存储、索引、查询和处理XML文档。它将...

    XML 的eclipse插件

    XML插件的添加进一步增强了Eclipse在处理XML方面的功能,使得开发者能够在同一个环境中进行XML相关的开发工作,无需频繁切换工具。 在提供的压缩包子文件`com.objfac.xmleditor_2.0.75`中,很可能包含了名为...

    dom4j创建及解析xml

    下面我们将深入探讨DOM4J在创建和解析XML方面的知识。 首先,创建XML文档主要通过Document对象实现。在DOM4J中,我们可以使用DocumentFactory来创建一个新的Document实例,然后添加Element、Attribute等节点。例如...

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

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

Global site tag (gtag.js) - Google Analytics