- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【精选】细说java解析mxl文档的常用方法(含实例)
细说j ava解析mxl⽂档的常⽤⽅法 (含实例)
XML (eXtensible Markup Language) 意为可扩展标记语⾔,被多数技术⼈员⽤以选择作
为数据传输的载体,成为⼀种 ⽤的数据交换格式,xml的平台⽆关性,语⾔⽆关性,系统
⽆关性,给数据集成与交互带来了极⼤的便利。在不同的语⾔中,解析mxl的⽅式都是
⼀样的,只不过实现的语法不同⽽已。众所周知,现在解析XML 的⽅法越来越多,但
主流的⽅法也就四种,即:DOM 、SAX 、JDOM和DOM4J 。
这四种⽅法的j ar包下载地址:
①DOM :在现在的Java JDK⾥都⾃带了,在xml apis.j ar包⾥
②SAX :http://sourceforge .net/projects/sax/
③JDOM :http://jdom .org/downloads/index .html
④DOM4J :http://sourceforge .net/projects/dom4j/
下⾯以⼀个实例来具体说明这4种⽅法:
xml⽂件:
<?xml version=1.0 encoding=GB2312?>
<RESULT>
<V LUE>
<NO> 1234</NO>
< DDR>四川省XX县XX镇XX路X段XX号</ DDR>
</V LUE>
<V LUE>
<NO>B1234</NO>
< DDR>四川省XX市XX乡XX村XX组</ DDR>
</V LUE>
</RESULT>
1、使⽤DOM (JAXP Crimson解析器)
DOM是⽤与平台和语⾔⽆关的⽅式表⽰XML⽂档的官⽅W3C标准。DOM是以层次结
构组织的节点或信息⽚断的集合。这个层次结构允许开发⼈员在树中寻找特定信息。
分析该结构 常需要加载整个⽂档和构造层次结构,然后才能做任何⼯作。由于它是
基于信息层次的,因⽽DOM被认为是基于树或基于对象的。DOM 以及⼴义的基于树
的处理具有⼏个优点。⾸先,由于树在内存中是持久的,因此可以修改它以便应⽤程
序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,⽽不是像SAX那
样是⼀次性的处理。DOM使⽤起来也要简单得多。
实现⽅法:
import java.io.*;
import java.util.*;
import org.w3c.dom.*;
import javax .xml.parsers.*;
public class MyXMLReader{
public static void main(String arge[]){
long lasting =System.currentTimeMillis();
try{
File f=new File(data_10k.xml);
DocumentBuilderFactory factory=DocumentBuilderFactory .newIns
DocumentBuilder builder=factory .newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName(V LUE);
for (int i=0;i<nl.getLength();i++){
System.out.print(⻋牌号码: + doc.getElementsByTagName(NO
System.out.println(⻋主地址: + doc.getElementsByTagName(
}
}catch(Exception e){
e.printStackTrace();
}
【优点】
①允许应⽤程序对数据和结构做出更改。
②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。
【缺点】
常需要加载整个XML⽂档来构造层次结构,消耗资源⼤。
2. 使⽤SAX
SAX处理的优点⾮常类似于流媒体的优点。分析能够⽴即开始,⽽不是等待所有的数
据被处理。⽽且,由于应⽤程序只是在读取数据时检查数据,因此不需要将数据存储
在内存中。这对于⼤型⽂档来说是个巨⼤的优点。事实上,应⽤程序甚⾄不必解析整
个⽂档;它可以在某个条件得到满⾜时停⽌解析。⼀般来说,SAX还⽐它的替代者
DOM快许多。
选择DOM还是选择SAX ? 对于需
文档评论(0)