- 浏览: 141913 次
- 性别:
- 来自: 北京
最新评论
-
yuhui136126:
我试了下好像不弹出选择时间这个,能帮忙是什么原因吗?
android日期控件显示 -
god_sky:
当月的最后一天减去当月的第一天就是当月的天数
日期的操作 -
wang492239163:
请问获取当前月的所有天怎么办
日期的操作
Xml方面xml有哪些解析技术?区别是什么?你在项目中用到了xml技术的哪些方面?如何实现的?
1、xml有哪些解析技术?区别是什么?
2、你在项目中用到了xml技术的哪些方面?如何实现的?
3、用jdom解析xml文件时如何解决中文问题?如何解析?
4、编程用JAVA解析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文件如下:
王小明
信息学院
6258113
男,1955年生,博士,95年调入海南大学
事件回调类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>
发表评论
-
java Timer实现定时器
2012-05-14 16:16 1311/* * 文件名:MyTask.java */ impo ... -
Applet数字签名
2012-05-08 13:55 2007Applet数字签名 我用applet做了一个文件的上传和下 ... -
得到中文首字母
2012-05-02 16:27 1069package com.pxl.client.ppm.pm; ... -
java比较字符串的匹配度
2012-04-19 14:58 2194引用:http://www.jiaojingkuan.com/ ... -
本地目录拒绝访问
2012-04-26 16:46 1855我用一个文件的上传在本机上什么错也不报,放在服务器上就报一下在 ... -
在JTable中添加下拉和复选框
2012-02-07 16:43 9485package com.sky.swing; import ... -
cookie简单登录实例
2012-01-16 15:26 1528(1)登录页面 <!DOCTYPE html PUBL ... -
TomCat域名绑定与虚拟目录设置
2012-01-16 14:45 1336TomCat域名绑定与虚拟目录设置 Windows下可以通过 ... -
ArrayList、Vector和LinkedList
2011-12-19 23:07 1967package com.sky.arrayset;//Arra ... -
java 运算符
2011-12-11 21:05 1118package com.sky.basic; public ... -
日期的操作
2011-11-17 17:43 1254package com.sky.date; import j ... -
Hashset HashMap和Hashtable 实例
2011-11-12 22:57 1364package com.sky.collection; im ... -
mysql 完全备份
2011-10-20 17:42 1387//mysql 完全备份实现类 package com.sk ... -
eclipse 反编译工具下载
2011-09-21 15:31 1688JadClipse Eclipse Plugin for Ec ... -
启动tomcat 一闪而过
2011-09-21 10:57 932这是因为JAVA_HOME没有配置好 ... -
Http+Servlet 文件上传下载
2011-09-02 13:27 1819//客户端界面package com.sky.client.f ... -
Swing 界面的最大化和最小化
2011-08-23 10:57 16861.设置窗口最大(伪最大化) JFrame frame ... -
Tomcat启动时自动加载Servlet
2011-08-05 14:43 3383[align=center][size=small][/siz ... -
socket 文件上传下载
2011-08-01 15:03 34181.建一个java项目作为客服端 2.建一个wed项目作为服务 ... -
文件输出比较
2011-07-23 08:31 837package com.sky.java.file; imp ...
相关推荐
StAX结合了DOM和SAX的优点,提供了向前迭代的XML解析方式。与SAX不同,StAX允许应用程序以编程方式控制解析过程,通过`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLStreamReader`接口可以逐个读取XML...
MusicXML是一种开放标准的音乐符号交换格式,它允许数字音乐...总之,"MusicXML解析与布局"项目涵盖了XML解析、数据结构设计、图形渲染、音乐理论等多个方面的知识,对于深入理解音乐和计算机科学的结合具有重要意义。
从这个项目中,你可以学习到如何在Java环境中设置和使用DOM解析器以及Jsoup库来处理XML数据。DOM解析适用于需要深度遍历和复杂操作的场景,而Jsoup则在处理HTML和简单XML时表现出更高的灵活性和易用性。通过实践这两...
在这个“xml解析demo以及资料”中,我们将探讨如何将XML数据解析到数据库,以及如何从数据库反向转换为XML。 首先,让我们关注“convert工程”。这个项目可能包含了一系列的程序或脚本,用于处理XML数据与数据库...
在Android开发中,XML文件广泛用于布局设计、配置...在实际项目中,还有一种基于SAX的拉式解析库——PULL解析器(Android提供的`XmlPullParser`),它在内存效率和灵活性之间找到了一个平衡点,也是常用的XML解析方法。
本项目中,我们探讨的是如何在JSP页面中解析XML文件,并将解析得到的数据存入MySQL数据库。 首先,让我们深入了解XML。XML是一种自描述的、结构化的数据格式,它允许我们以树形结构来组织数据,便于机器理解和处理...
在实现Java XML解析时,通常会用到如Java的JAXB(Java Architecture for XML Binding)库用于对象与XML之间的映射,或者使用DOM、SAX、StAX的API,如javax.xml.parsers.DocumentBuilderFactory、org.xml.sax.helpers...
本项目实现了在Unity中对XML文件的读取和写入操作,这涉及到Unity的C#编程以及XML的序列化和反序列化技术。 XML序列化是指将对象的状态转换为XML文档的过程,而反序列化则是将XML文档恢复为对象的过程。在Unity中,...
在Java程序开发中,处理XML文档时,我们常常会用到一些库来帮助解析和操作XML。本话题将详细介绍两个重要的XML处理工具:dom4j和jaxen,以及它们在解析XML文档中的作用。 首先,dom4j是Java的一个非常流行的XML处理...
XML(eXtensible Markup Language)是一种用于标记数据的语言,常用于存储和传输结构化数据...整个流程涉及的技术涵盖了XML处理、数据库操作、前后端通信等多个方面,对于提升数据处理和Web应用开发的能力十分有帮助。
XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,特别是在Java应用程序中广泛使用。DOM(Document Object Model)是处理XML的一种方法,它将XML文档转换为一个树形结构,允许开发者通过编程...
java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
学习和掌握这些XML解析技术对于提升Android开发能力至关重要,无论是在处理用户界面布局、读取配置文件,还是与其他服务交换数据,都会用到XML解析。通过实践和理解本代码,你可以更好地理解和运用这些概念,提高...
XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在互联网上交换...同时,掌握相关工具和编程语言的使用,如Perl中的LWP::UserAgent和XML解析模块,能帮助我们在实际工作中更高效地处理XML数据。
在IT行业中,网络请求是应用程序与服务器交互的基础,XML和JSON则是常见的数据交换格式。本教程将通过一个名为"HTTP请求网络解析XML以及JSON的demo"的实例,深入讲解如何利用Java实现这两种请求方式,并对返回的数据...
这可能是因为混淆了Java和ASP.NET的环境,或者是在讨论一个包含了Web应用的项目结构,其中XML解析可能是在服务器端的Java代码中进行的。 在ASP.NET环境中,解析XML通常会用到.NET框架自带的`System.Xml`命名空间,...
XML因其结构化和易于解析的特性,在数据交换和配置文件中广泛使用,而Map则作为Java中存储键值对的高效数据结构。在实际开发中,我们可能需要在XML和Map之间进行转换,以便于数据处理。本文将详细讲解如何使用Java...
在IT领域,Excel和XML是两种非常重要的数据格式,它们各有各的应用场景和优势。Excel通常用于处理表格数据,而XML则是一种结构化...在实际项目中,应根据具体需求选择合适的工具和技术,确保数据转换的效率和准确性。
在C#环境中,开发基于XML的在线论坛,可能会用到以下技术: 1. XmlDocument或XDocument类:用于读写XML文件。C#中的System.Xml命名空间提供了这些类来解析和操作XML文档。 2. LINQ to XML:这是一种更现代、更简洁...
XML(eXtensible Markup Language)是一...掌握这些XML相关的知识和技术,可以有效地进行XML解析、组装和数据交换,提升软件开发的效率和灵活性。在实际项目中,根据需求和性能要求选择合适的解析和组装方法至关重要。